R 对某些变量求和,然后删除重复项
我有一个data.frame,由33个变量和254万个观察值组成。我创建了一个简单的data.frame,我将从中解释我的问题R 对某些变量求和,然后删除重复项,r,sum,aggregate,R,Sum,Aggregate,我有一个data.frame,由33个变量和254万个观察值组成。我创建了一个简单的data.frame,我将从中解释我的问题 testdf borrower amount income 1 a 4000 30000 2 b 5000 20000 3 a 3000 30000 str(testdf) 'data.frame': 3 obs. of 3 variables: $ borrower: Factor w/
testdf
borrower amount income
1 a 4000 30000
2 b 5000 20000
3 a 3000 30000
str(testdf)
'data.frame': 3 obs. of 3 variables:
$ borrower: Factor w/ 2 levels "a","b": 1 2 1
$ amount : num 4000 20000 3000
$ income : num 30000 20000 30000
我想要的是,如果变量借款人
相同,则对变量金额
求和。但是,对于变量收入
,不能这样做。在此之后,必须删除副本。因此,在这种情况下,必须删除第3行。新df必须如下所示:
testdf
borrower amount income
a 7000 30000
b 5000 20000
变量
借款人
(例如a)中的值也可能出现8次。在这件事上,我想合计8个金额
s,但再次强调,不是收入
。并用a删除7行。这是一个使用plyr
的解决方案:
testdf <- data.frame(borrower = c("a", "b", "a"),
amount = c(4000, 5000, 3000),
income = c(30000, 20000, 30000))
library(plyr)
ddply(testdf, .(borrower), summarise, amount = sum(amount), income = income[1])
# borrower amount income
# 1 a 7000 30000
# 2 b 5000 20000
testdfincome
对于借款人
在8行中是否保持不变?如果没有,您如何在结果数据集中为收入
选择值?谢谢,这很好。:)