dplyr函数错误

德瓦尼(Dhwani Dholakia)
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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章