R 如何使用不同的by变量以编程方式总结tbl?
我想重写下面的代码,使用一个循环来迭代by变量“a”和“b”。我该怎么做R 如何使用不同的by变量以编程方式总结tbl?,r,dplyr,R,Dplyr,我想重写下面的代码,使用一个循环来迭代by变量“a”和“b”。我该怎么做 set.seed(1234) mydata <- as.tbl(data.frame(a=1:12, b=runif(12), x=rnorm(12))) mydata library(dplyr) library(Hmisc) mydata %>% mutate(feature=cut2(a, g=3)) %>% group_by(feature) %>% # group by q
set.seed(1234)
mydata <- as.tbl(data.frame(a=1:12, b=runif(12), x=rnorm(12)))
mydata
library(dplyr)
library(Hmisc)
mydata %>%
mutate(feature=cut2(a, g=3)) %>%
group_by(feature) %>% # group by quantiles of 'a'
summarise(x=mean(x))
mydata %>%
mutate(feature=cut2(b, g=3)) %>%
group_by(feature) %>% # group by quantiles of 'b'
summarise(x=mean(x))
set.seed(1234)
mydata%
突变(特征=cut2(a,g=3))%>%
按(特征)分组%>%#按“a”的分位数分组
总结(x=平均值(x))
mydata%>%
变异(特征=cut2(b,g=3))%>%
按(特征)分组%>%#按“b”的分位数分组
总结(x=平均值(x))
我们可以从lazyeval
使用interp
library(lazyeval)
lapply(c('a', 'b'), function(var)
mydata %>%
mutate_(feature=interp(~cut2(v1, g=3), v1=as.name(var))) %>%
group_by(feature) %>%
summarise(x=mean(x)) )