我是R的新手,因此很难弄清楚如何使用聚合函数从数据框中检索完整的字段/列列表。
例如,我有一个包含200多个字段的数据框df。现在,我想将数据框分组到特定字段df.a上,然后按另一个字段df.b进行排序。但是,在输出数据框中,我希望每个行包含所有200多个字段,而不是仅包含df.a和df.b字段。
请帮助我了解如何实现这一目标。
答案 0 :(得分:1)
您可以编写自己的函数,但如果您使用已编写,已调试且性能优化的函数,则最好。包dplyr
非常适合这类事情。
我发现自己经常写出如下行:
df %>% group_by(a) %>% arrange(b) %>% summarise(total = sum(b))
df
是我的数据框,group_by
是按特定列(或列集)对行进行分组的功能,arrange
是按行重新排序行的功能列(或列集)。 summarise
是一种执行聚合并生成数据摘要的方法。 %>%
是'pipe'运算符,用于将左侧表达式的结果作为右侧函数的第一个参数提供,而不是编写难以读取的多个嵌套调用或创建中间一次性变量
希望这有助于或给你一些更好的想法。