2016-02-29 50 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

再次感謝你 –