form_name = [1] "abc.A" "abc.A.1" "abc.B" "abc.B.1" "abc.DR" "abc.DR.1"
library(dplyr)
dd <- list(NULL)
for(i in form_name){
dd[[i]] <- ka %>% group_by(i) %>% summarise(n= n())
}
当我在dplyr函数上应用循环时,它说
错误:未知的列“ i”
我们可以使用group_by_(.dots=i)
。我们创建一个NULL
列表('dd')并将其设置names
为'form_name',然后遍历'form_name',并group_by
如上所述进行更改。
dd <- setNames(vector('list', length= length(form_name)), form_name)
for(i in form_name){
dd[[i]] <- ka %>%
group_by_(.dots=i) %>%
summarise(n=n())
}
dd
#$abc.A
#Source: local data frame [3 x 2]
# abc.A n
# (fctr) (int)
#1 A 2
#2 B 2
#3 C 2
#$abc.B
#Source: local data frame [2 x 2]
# abc.B n
# (fctr) (int)
#1 D 3
#2 E 3
form_name <- c('abc.A', 'abc.B')
ka <- data.frame(abc.A= rep(LETTERS[1:3], 2),
abc.B= rep(LETTERS[4:5], each=3))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句