在R语言中,summarise_each
和summarise_all
是dplyr
包中的两个函数,用于对数据进行汇总和计算。
summarise_each
函数可以对指定的多个列进行相同的汇总操作,例如计算平均值、总和等。它的语法如下:
summarise_each(.data, funs(.), ...)
其中,.data
表示要进行汇总操作的数据框或数据表,funs(.)
表示要应用的汇总函数,...
表示要进行汇总操作的列。
举个例子,假设有一个数据框df
包含了三列A
、B
和C
,我们想要计算这三列的平均值和总和,可以使用summarise_each
函数:
library(dplyr)
df <- data.frame(A = c(1, 2, 3), B = c(4, 5, 6), C = c(7, 8, 9))
result <- df %>% summarise_each(funs(mean, sum))
上述代码中,summarise_each
函数应用了mean
和sum
两个汇总函数,对df
中的每一列进行计算,得到了每一列的平均值和总和。
相反,summarise_all
函数用于对所有列进行相同的汇总操作。它的语法如下:
summarise_all(.data, funs(.))
与summarise_each
类似,.data
表示要进行汇总操作的数据框或数据表,funs(.)
表示要应用的汇总函数。
然而,在给定的问答内容中提到summarise_each
可以工作,但summarise_all
不能工作。这可能是因为在最新版本的dplyr
包中,summarise_all
函数已被弃用,取而代之的是across
函数。因此,建议使用across
函数来对所有列进行汇总操作。
总结起来,summarise_each
函数用于对指定的多个列进行相同的汇总操作,而summarise_all
函数已被弃用,可以使用across
函数来代替。
领取专属 10元无门槛券
手把手带您无忧上云