我正在尝试创建(键,值)对的聚合列表:
d <- data.frame(key.1 = c(1,1),
val.1 = c(100,100),
key.2 = c(1,1),
val.2 = c(100,100),
key.3 = c(2,3),
val.3 = c(100,100))
key.1 val.1 key.2 val.2 key.3 val.3
1 100 1 100 2 100
1 100 1 100 3 100
我希望结果是:
key.1 val.1 key.2 val.2
1 200 2 100
1 200 3 100
这意味着 (1,100) 和 (1,100) 基于公共 1 聚合,它们的值总和为 200。第一行的 (2,100) 和第二行的 (3,100) 保持原样,因为有不是与另一对的公共密钥。
与 这个问题不同,在我的场景中,我必须分别聚合我的数据框的每一行。目前我只是逐行迭代,并为每一行使用“聚合”。有更聪明的方法吗?