dplyr和r中的循环

M. *_*eil 4 for-loop r dplyr

所以这就是问题:我想在我的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的替代品,我想听听它.

我试图把列的字符名称,但它不起作用...

And*_*lor 5

这个怎么样:

假数据:

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)