如何在R中按两列分组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在R中按两列分组相关的知识,希望对你有一定的参考价值。

我有一个数据框,我试图分组,然后根据两列求和。这两列是字符,一个是月,另一个是变量。

以下是数据框架和结构的示例。

#row.names   month    variable   amount
  1          1-Jan       x        1000
  2          1-Jan       x        3000
  3          2-Feb       z        5000
  4          2-Feb       y        3000 

我试图先对数据进行分组,然后我会尝试总结一下,但是我无法让group_by_()去做。以下是我试过的代码。

byVarMonth <- group_by_(df, variable, (as.date(month)))

谢谢您的帮助。

答案

您显然对将Character [month]作为Date变量不感兴趣。考虑到我没有错,你可以简单地做这样的事情:

library(dplyr)

tab %>%
  group_by(month, variable) %>%
  summarise(a_sum=sum(amount),
            a_mean=(mean(amount)))

得到这个:

Source: local data frame [3 x 4]
Groups: month

  month variable a_sum a_mean
1 1-Jan        x  4000   2000
2 2-Feb        y  3000   3000
3 2-Feb        z  5000   5000
另一答案

...或者,您可以使用替代语法:

summarise(group_by(df, variable), sum(amount), mean(amount))

请享用。

以上是关于如何在R中按两列分组的主要内容,如果未能解决你的问题,请参考以下文章

如何在c#中按两列对DataTable进行排序

MySQL - 在一个查询中按两列计数[重复]

如何在R中一次按两列对行进行排名?

如何获得 PostgreSQL 中的两个平均值之间的差异,平均值在列上,最终表按两列分组?

python按两列分组,按一个索引提取第一个元素

按两列排序,为啥不先分组呢?