将一列拆分为组,并汇总每组的另一列

时间:2013-10-21 04:30:31

标签: r aggregate

数据框是

A    B
2.3  4.1
1.2  7.6
0.5  3.2
1.5  2.3

我想将A栏分成三组,并总结B栏。 结果将是

X    Y
0   3.2
1   9.9
2   4.1

我搜索了这个问题,但只找到了像https://stats.stackexchange.com/questions/8225/how-to-summarize-data-by-group-in-r

这样的答案

1 个答案:

答案 0 :(得分:1)

您可以使用cutaggregate

> aggregate(B ~ cut(A, breaks=3), mydf, sum)
  cut(A, breaks = 3)   B
1        (0.498,1.1] 3.2
2          (1.1,1.7] 9.9
3          (1.7,2.3] 4.1

为了更好地控制,请查看可传递给cut的许多参数。为了获得更好的输出,您可以创建一个具有“cut”值的新列(以便列名不是cut(A, breaks = 3))。