📅  最后修改于: 2023-12-03 15:09:34.749000             🧑  作者: Mango
group_by()
是 R 语言中一个常用的函数,用于按照指定变量分组数据。在实际使用中,我们可能需要传递一些参数给 group_by()
函数,以实现更多的分组功能。
首先,我们回顾一下 group_by()
函数的基本用法。
library(dplyr)
# 读取数据
data <- iris
# 按照 Species 分组
data_grouped <- data %>% group_by(Species)
# 对每个分组求平均值
data_summarized <- data_grouped %>%
summarize(
mean_Sepal_Length = mean(Sepal.Length),
mean_Sepal_Width = mean(Sepal.Width),
mean_Petal_Length = mean(Petal.Length),
mean_Petal_Width = mean(Petal.Width)
)
在上述代码中,我们使用 group_by(Species)
将 data
数据按照 Species
变量分组。接着,我们可以使用 summarize()
函数对每个分组求平均值。
现在,我们需要按照两个变量分组,即 Species
和 Sepal.Length
。这时,我们可以向 group_by()
函数传递多个参数。
# 按照 Species 和 Sepal.Length 分组
data_grouped2 <- data %>% group_by(Species, Sepal.Length)
# 对每个分组求平均值
data_summarized2 <- data_grouped2 %>%
summarize(
mean_Sepal_Width = mean(Sepal.Width),
mean_Petal_Length = mean(Petal.Length),
mean_Petal_Width = mean(Petal.Width)
)
在上述代码中,我们向 group_by()
函数传递了两个参数:Species
和 Sepal.Length
。这时,得到的 data_grouped2
数据会按照这两个变量分组,并且在 summarize()
函数中,可以像以往一样使用变量名求平均值。
需要注意的是,传递给 group_by()
函数的参数列表必须与数据集中的变量名称一致,否则程序会报错。在上述示例代码中,我们使用了 iris 数据集,其中包含了 Species
、Sepal.Length
、Sepal.Width
、Petal.Length
和 Petal.Width
等变量。因此,我们可以安全地向 group_by()
函数传递这些变量作为参数。