首页 > 解决方案 > 汇总可变数量的列

问题描述

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

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

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

标签: rsparklyr

解决方案


你可以试试dplyr::summarise_all。将summarise_all在所有列上应用所需的功能,除了已在group_by.

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

推荐阅读