2017-03-09 104 views
-1

我有一個如下所示的數據集。我怎樣才能選擇那些至少有10條評論的ID。數據集相當大,我不想選擇每個ID,除了幾乎沒有關於啤酒的評論可能無法提供清晰的見解。僅選擇那些至少有N條評論的啤酒

beer_beerid review_profilename  review_overall 
    48215   stcules    3.0 
    52159   oline73    3.0 
    52159  alpinebryant    3.0 
    52159   rawthar    4.0 
    52159  RangerClegg    3.5 

回答

0

很多方法可以做到這一點,普約爾有一個細微基礎R解決方案。用dplyr你可以這樣做:

library(dplyr) 
df %>% group_by(beer_beerid) %>% filter(n() > 9) 
0

在這裏你有一個可能的方法。

您需要一個向量TRUE/FALSE指示哪些行的id重複超過10次。然後索引你df

table(df$beer_beerid)將返回不同的號碼beer_beerid。從那裏你可以採取那些更骯髒的10。

which(table(df$beer_beerid) > 10)。將返回超過10次的啤酒。

最後,你可以索引你df

df[df$beer_beerid == which(table(df$beer_beerid) > 10), 
+0

謝謝大家!當dplyr命令運行良好時,使用哪個命令拋出錯誤:較長的對象長度不是較短的對象長度的倍數。但是,我想知道是否可以通過ggplot實現可視化的正確N(9或10或15等)! –