我在使用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)
我在使用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)
大多數默認dplyr
功能是由使用未加引號(non-standard evaluation)data.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
對於更詳細的信息,請參閱上面的鏈接,儘管它比現在需要的更具體。
謝謝,你知道確切的問題,因爲它ealier它正在工作 –
您的語法一定是不一樣的,或者您正在使用SE版本。獲得引用值在NSE版本中工作的唯一方法是很好的工作。 – alistaire
再次感謝你 –
如何顯示一個可重複使用的小例子? – akrun
只是有汽車評估數據集,這個代碼早期工作 –
它使用這個例子很好:'count(mtcars,c(「mpg」,「cyl」))' – lizzie