R聚合数据帧

时间:2015-10-14 22:04:07

标签: r aggregate

如果我们的婚姻数据框架看起来像这样

   Month  Year marriage_counts
1    Jan  2011              50
2    Jan  2011              30
3    Jan  2011              20
4    Feb  2011              80
5    Feb  2011              10

,我们的商家数据就像这样

  Month Year
1   Jan 2011
2   Jan 2011
3   Jan 2011
4   Feb 2011
5   Feb 2011

这应该返回一个看起来像

的数据框
 Month Year marriage_count
1  Jan 2011            100
2  Feb 2011             90

但是我被困在这里..任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

在基地R:

agg <- aggregate(marriage_counts ~ Month + Year, marriage, sum)

通过Dplyr:

library(dplyr)
df_marriage %>% group_by(Month, Year) %>% 
  summarise(marriage_count = sum(marriage_counts))

通过Data.table:

data.table::setDT(marriage)[, .(marriage_count = sum(marriage_counts)) , by = .(Month, Year)]

答案 1 :(得分:1)

使用Drawable cameraButton = getResources().getDrawable(R.drawable.drawableName); cameraButton.setAlpha(170); captureButton.setBackground(cameraButton); 的另一种选择。 {purrr}相当于dplyr的slice_rows()

group_by()