所以这就是问题:我想在我的R代码中使用for循环来总结不同的列.
举个例子,这里看起来像什么:
all.columns<-c("column4","column5","column6","column7")
for (i in 1:4) {
df%>%
group_by(column3)%>%
summarise(Mean=mean(all.columns[i]),
Max=max(all.columns[i]))
}
Run Code Online (Sandbox Code Playgroud)
其中df是数据框,column3可以是Year by Year变量,列5到7是我想用相同代码重复检查的那些.
你知道怎么用dplyr执行这个吗?如果你没有dplyr的替代品,我想听听它.
我试图把列的字符名称,但它不起作用...
这个怎么样:
假数据:
df <- data.frame(column3=rep(letters[1:2], 10),
column4=rnorm(20),
column5=rnorm(20),
column6=rnorm(20),
column7=rnorm(20))
Run Code Online (Sandbox Code Playgroud)
dplyr 解:
library(dplyr)
df %>%
group_by(column3) %>%
summarise_each(funs(mean, max), column4:column7)
Run Code Online (Sandbox Code Playgroud)
输出:
Source: local data frame [2 x 9]
column3 column4_mean column5_mean column6_mean column7_mean column4_max column5_max
1 a 0.186458 0.02662053 -0.00874544 0.3327999 1.563171 2.416697
2 b 0.336329 -0.08868817 0.31777871 0.1934266 1.263437 1.142430
Variables not shown: column6_max (dbl), column7_max (dbl)
Run Code Online (Sandbox Code Playgroud)