r语言dplyr::do
时间: 2023-10-01 07:09:47 浏览: 171
R 语言速查表手册.zip
在R语言中,dplyr包提供了`do()`函数,用于在数据框中执行自定义的操作。`do()`函数可以接受一个函数或者一个匿名函数作为参数,然后将其应用于数据框的每个分组。这个函数可以用于实现一些复杂的计算或者数据处理操作。
举个例子,假设我们有一个数据框`df`,其中包含了学生的姓名、性别和成绩。我们可以使用`do()`函数计算每个性别的平均成绩。
```R
library(dplyr)
df <- data.frame(
name = c("Alice", "Bob", "Charlie", "David", "Eve"),
gender = c("Female", "Male", "Male", "Male", "Female"),
score = c(80, 75, 90, 85, 95)
)
result <- df %>%
group_by(gender) %>%
do(avg_score = mean(.$score))
print(result)
```
运行上述代码后,你将得到一个新的数据框`result`,其中包含了每个性别的平均成绩。
注意,在dplyr 1.0.0版本以后,`do()`函数已经被废弃,推荐使用更加灵活的`summarize()`函数代替。`summarize()`函数可以实现类似的功能,但是语法更加直观。以上面的例子为例,可以使用`summarize()`函数来计算每个性别的平均成绩:
```R
result <- df %>%
group_by(gender) %>%
summarize(avg_score = mean(score))
print(result)
```
希望这能帮到你!如果还有其他问题,请随时提问。
阅读全文