好的,所以我有一个配置数据框,它将指定如何在另一个数据框中聚合几列。
配置框架:
conf <- rbind(
c("a", "cnt"),
c("b", "cnt")
)
和数据的数据框
dd <- data.frame(cbind(c("a1", "a1", "a1"), c("b1", "b1", "b2"), c(1, 2, 3)))
names(dd) <- c("a", "b", "cnt")
我想基本上运行这个命令:
aggregate(cnt ~ paste(conf[, 1], collapse=" + "), data=dd, sum)
理想情况下会返回
output
a1 b1 3
a1 b2 3
说得通?我觉得我在获取动态列名时丢失了 do.call 或 eval 的某些内容。或者也许将 names(dd) 列表与 conf[, 1] 相交