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

时间:2016-02-29 03:52:30

标签: r count dplyr

使用今天推出的count函数,我遇到了一个奇怪的问题。当我输入:

a <- count(data, c("col1", "col2")

错误弹出

  

错误:结果大小错误

此前此代码工作正常。任何帮助将不胜感激。

e.g data <- matrix((1,2,1,2,1,3,1,3,2,3,2,4,2,3,2,5), nrow=8, ncol=2)

1 个答案:

答案 0 :(得分:5)

大多数默认dplyr函数都是使用data.frame列名称取消引用(non-standard evaluation)。 Hadley也构建了标准的eval版本,这些版本具有相同的名称,但最后是下划线(_):在本例中为count_()。标准的eval可以使用与上面一样排列的引用值:

count_(mtcars, c('cyl', 'gear'))

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

count(mtcars, cyl, gear)

无论哪种方式,你得到

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

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