2016-02-29 52 views
-1

我在使用count函数今天引入了一个奇怪的问题。当我键入:计数函数错误(错误的结果大小)

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

错误弹出

Error: wrong result size

早些时候,该代码是工作的罚款。任何帮助将不胜感激。

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

如何显示一个可重复使用的小例子? – akrun

+0

只是有汽车评估数据集,这个代码早期工作 –

+0

它使用这个例子很好:'count(mtcars,c(“mpg”,“cyl”))' – lizzie

回答

5

大多数默认dplyr功能是由使用未加引号(non-standard evaluationdata.frame列名。哈德利也建立了标准的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 

对于更详细的信息,请参阅上面的链接,尽管它比现在需要的更具体。

+0

谢谢,你知道确切的问题,因为它ealier它正在工作 –

+0

您的语法一定是不一样的,或者您正在使用SE版本。获得引用值在NSE版本中工作的唯一方法是很好的工作。 – alistaire

+0

再次感谢你 –