计数功能错误(错误的结果大小)

R V*_*Vij 0 r count dplyr

使用count今天介绍的功能,我遇到了一个奇怪的问题.当我输入:

a <- count(data, c("col1", "col2")
Run Code Online (Sandbox Code Playgroud)

错误弹出

错误:结果大小错误

之前这段代码运行正常.任何帮助将不胜感激.

e.g data <- matrix((1,2,1,2,1,3,1,3,2,3,2,4,2,3,2,5), nrow=8, ncol=2)
Run Code Online (Sandbox Code Playgroud)

ali*_*ire 5

大多数默认dplyr函数都是使用不带data.frame引号的列名(非标准评估).Hadley也建立了标准的eval版本,它们具有相同的名称,但最后是一个下划线(_):在这种情况下,count_().标准的eval可以使用与上面一样排列的引用值:

count_(mtcars, c('cyl', 'gear'))
Run Code Online (Sandbox Code Playgroud)

实际上,标准eval版本是过度的,除非你需要传递一个存储名称的变量.在这种情况下,正常的非标准eval版本将整齐地工作,并产生相同的东西,同时节省您输入一些引号:

count(mtcars, cyl, gear)
Run Code Online (Sandbox Code Playgroud)

无论哪种方式,你得到

Source: local data frame [8 x 3]
Groups: cyl [?]

    cyl  gear     n
  (dbl) (dbl) (int)
1     4     3     1
2     4     4     8
3     4     5     2
4     6     3     2
5     6     4     4
6     6     5     1
7     8     3    12
8     8     5     2
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅上面的链接,尽管它比您现在可能需要的更具体.