我有一个用于聚合的 data.frame,它只是由ddply
plyr 完成的。现在的目标是编写一个将聚合对象自动绑定到原始数据的函数。问题是,可以有多个聚合变量。
下面是一个只有一个聚合变量的例子:
这是我拥有的数据框:
M O
1 1 6
2 2 7
3 2 4
4 1 6
然后ddply
我得到“O”的聚合:
TEST <- ddply(.data = DF,
.variables = c("M"),
.fun = summarise,
NEW = sum(O))
结果如下所示:
M NEW
1 1 12
2 2 11
我现在想做的是编写一个函数,使我能够将变量“ New
”绑定到原始 data.frame。
在一个循环中,它适用于:
for(i in 1:nrow(TEST)) {
DF$New[DF$M == TEST$M[i]] <- TEST$NEW[i]
}
M O New
1 1 6 12
2 2 7 11
3 2 4 11
4 1 6 12
现在我想把它转换成一个函数,即使有多个聚合变量,它也能提供等效的输出。