【发布时间】:2019-01-10 22:13:42
【问题描述】:
我正在寻找一种有效的解决方案,为“id”列中的每个类别的新行中的每一列添加小计。我可以通过使用下面的代码来实现所需的输出,但这种方法对于大型数据集效率不高。是否可以使用数据表来实现这一点?
谢谢!
data <- data.frame(id = c("a","b","a","b","c","c","c","a","a","b"),
total = c(1,2,3,4,2,3,4,2,3,4),
total2 = c(2,3,4,2,3,4,5,6,4,2),
total3 = c(2,3,4,5,6,3,2,3,4,5))
data_new <- data.frame(id = character(), total = numeric(), total2 =
numeric(), total3 = numeric())
for (i in unique(data$id)){
subset <- data[data$id == i,]
subtotals <- data.frame(id = i, total = sum(subset$total), total2 =
sum(subset$total2), total3 = sum(subset$total3))
subset <- rbind(subset,subtotals)
data_new <- rbind(data_new, subset)
}
data_new
【问题讨论】: