在R中按行分组和求和

问题描述 投票:1回答:1

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

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

r rows data-manipulation
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.