首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

summarise_each可以工作,但summarise_all不能

在R语言中,summarise_eachsummarise_alldplyr包中的两个函数,用于对数据进行汇总和计算。

summarise_each函数可以对指定的多个列进行相同的汇总操作,例如计算平均值、总和等。它的语法如下:

代码语言:R
复制
summarise_each(.data, funs(.), ...)

其中,.data表示要进行汇总操作的数据框或数据表,funs(.)表示要应用的汇总函数,...表示要进行汇总操作的列。

举个例子,假设有一个数据框df包含了三列ABC,我们想要计算这三列的平均值和总和,可以使用summarise_each函数:

代码语言:R
复制
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函数应用了meansum两个汇总函数,对df中的每一列进行计算,得到了每一列的平均值和总和。

相反,summarise_all函数用于对所有列进行相同的汇总操作。它的语法如下:

代码语言:R
复制
summarise_all(.data, funs(.))

summarise_each类似,.data表示要进行汇总操作的数据框或数据表,funs(.)表示要应用的汇总函数。

然而,在给定的问答内容中提到summarise_each可以工作,但summarise_all不能工作。这可能是因为在最新版本的dplyr包中,summarise_all函数已被弃用,取而代之的是across函数。因此,建议使用across函数来对所有列进行汇总操作。

总结起来,summarise_each函数用于对指定的多个列进行相同的汇总操作,而summarise_all函数已被弃用,可以使用across函数来代替。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券