使用今天推出的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)
答案 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
有关详细信息,请参阅上面的链接,尽管它比您现在可能需要的更具体。