2017-04-17 63 views
0

我正在嘗試使用哪個函數與計數函數結合使用。我想計算一下哪種情況下的因素數量。此代碼不正確,但任何意見,將不勝感激。使用PLYR來計算在哪個條件下

library(plyr) 
count(data, 'factor', which numeric > 10) 

#Base version attempt 
count(data$factor, which(data$numeric > 10)) 

Error in UseMethod("group_by_") : 
no applicable method for 'group_by_' applied to an object of class "factor" 

回答

1

這不正是你要尋找的,但這裏有兩點建議:

  1. plyrdplyr舊版本,所以我會用較新的一個,特別是因爲它進來後面的小組。 dplyr's count可以處理因素。
  2. 因素在R中不常用。我建議只是as.character

強迫隨着dplyr你可以寫這樣的:

data %>% filter(numeric > 10) %>% count(factor) 
+0

我與你的第二個忠告不以爲然。因素非常相關。以下是一個示例:https://www.r-bloggers.com/a-novel-method-for-modelling-interaction-between-categorical-variables/?utm_source=feedburner&utm_medium=email&utm_campaign=Feed%3A+RBloggers+%28R+博客作者%29 – shea

+0

是的,當然有一些地方的因素可以更好地發揮作用,就好像你想把一個自然順序放在一個變量上一樣。在實踐中,我認爲大多數人只是默認使用角色,Wickham先生似乎同意:[「不幸的是,R中的大多數數據加載函數都會自動將角色向量轉換爲因子,這是不理想的,因爲這些函數無法知道設置所有可能的級別或它們的最優順序,而是使用參數stringsAsFactors = FALSE「](http://adv-r.had.co.nz/Data-structures.html#vectors) – svenhalvorson