在R中按行分组和求和

时间:2017-11-19 16:46:56

标签: r rows data-manipulation

这是我在Stack上的第一个问题。我正在寻找一种有效的方法来对行内的值进行分组和求和。 我的行数据以这样的方式分发:10000 10 20000 20 40000 12 60000 23 10000 12 40000 17。 我需要一个结果:10000 22 20000 20 40000 29 60000 23.大数字是特征,较小 - 出现。

example of row from data

这是我的真实数据 - 例如10004我需要23。 我尝试使用循环,聚合,但我不能这样做。

1 个答案:

答案 0 :(得分:0)

您可以使用aggregate

执行此操作
## Your data
Row = c(11131132, 10004, 5, 265098, 3, 190029, 2, 
    265092, 2, 265077, 17, 10004, 18, 
    265097,17, 265098,15,190029,2, 265099,17)

ID    = Row[seq(2,length(Row), 2)]
value = Row[seq(3,length(Row), 2)]
GroupSum = aggregate(value, list(ID), sum)
GroupSum
  Group.1  x
1   10004 23
2  190029  4
3  265077 17
4  265092  2
5  265097 17
6  265098 18
7  265099 17