R中的聚合函数

时间:2015-11-02 12:11:18

标签: r

我是R的新手,因此很难弄清楚如何使用聚合函数从数据框中检索完整的字段/列列表。

例如,我有一个包含200多个字段的数据框df。现在,我想将数据框分组到特定字段df.a上,然后按另一个字段df.b进行排序。但是,在输出数据框中,我希望每个行包含所有200多个字段,而不是仅包含df.a和df.b字段。

请帮助我了解如何实现这一目标。

1 个答案:

答案 0 :(得分:1)

您可以编写自己的函数,但如果您使用已编写,已调试且性能优化的函数,则最好。包dplyr非常适合这类事情。

我发现自己经常写出如下行:

df %>% group_by(a) %>% arrange(b) %>% summarise(total = sum(b))

df是我的数据框,group_by是按特定列(或列集)对行进行分组的功能,arrange是按行重新排序行的功能列(或列集)。 summarise是一种执行聚合并生成数据摘要的方法。 %>%是'pipe'运算符,用于将左侧表达式的结果作为右侧函数的第一个参数提供,而不是编写难以读取的多个嵌套调用或创建中间一次性变量

希望这有助于或给你一些更好的想法。