如何在R中按两列分组

时间:2015-10-15 15:30:37

标签: r group-by

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

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

#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)))

感谢您的帮助。

2 个答案:

答案 0 :(得分:12)

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

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

答案 1 :(得分:-1)

...或者您可以使用其他正弦波:

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

享受。