2017-03-09 70 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等)! –