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))
dplyr
库以及plyr
库,请使用dplyr::summarise(
。 - akrunlapply(dd, as.data.frame)
或者lapply(dd, function(x) head(x, 20))
。 - akrun
ka
定义在哪里? - steveb