总结了可变数量的列

时间:2018-05-16 21:35:25

标签: r sparklyr

我有一个火花数据框(在R和sparklyr的上下文中)有三列,id,x和y。如果我想按列汇总,我可以用

来完成
df <- df %>% group_by(id) %>% summarize(x=sum(x),y=sum(y))

现在假设我现在收到一个列数可变的数据框。除了id之外,所有其他列都是双打的,我需要像以前一样对它们进行总结。当然我可以得到列名,迭代总结每个列并加入结果,但它看起来很难看。有一个简单的方法吗?

2 个答案:

答案 0 :(得分:2)

您可以尝试dplyr::summarise_allsummarise_all将在所有列上应用所需的功能,但group_by中使用的除外。

library(dplyr)
df %>% group_by(id) %>% summarise_all(sum)

答案 1 :(得分:2)

summarise_if会有效吗?

df <- df %>% group_by(id) %>% summarise_if(is.numeric, sum, na.rm = TRUE)