【发布时间】:2020-04-28 20:08:59
【问题描述】:
我正在使用 dplyr 包按周变量分组并获得三个变量的总和。输出应相互连接。
这是我的数据框 df:
week var1 var2 var3
1 1 2 3
1 2 2 3
2 4 4 5
2 2 2 6
3 6 6 6
3 4 4 4
我的命令是
calculate <- function(vars){
x <- df %>% group_by(week) %>% summarise(summe = sum(vars))%>%mutate(group = paste(vars))
x
}
cols <- c("var1", "var2", "var3")
for (i in 1:length(cols)){
var <- cols[i]
cal <- calculate(var)
total <- rbind(total,cal)
}
预期的输出应该是
week summe group
1 3 var1
2 6 var1
3 10 var1
1 4 var2
2 6 var2
3 10 var2
1 6 var3
2 11 var3
3 10 var3
我的问题是:有没有更好的方法来代替使用 for 循环?
干杯, 安迪
【问题讨论】: