2013-08-19 15 views
-1

我有一个大的数据框,它由啤酒评论组成,它包含重复评论和重复内的一些差异。使用R在数据框中查找特定的一组数据基于一组变量

> head(beer_data) 

    brewery_id   brewery_name review_time review_overall 
1  10325   Vecchio Birraio 1234817823   1.5 
2  10325   Vecchio Birraio 1235915097   3.0 
3  10325   Vecchio Birraio 1235916604   3.0 
4  10325   Vecchio Birraio 1234725145   3.0 
5  1075 Caldera Brewing Company 1293735206   4.0 
6  1075 Caldera Brewing Company 1325524659   3.0 
    review_aroma review_appearance review_profilename 
1   2.0    2.5   stcules 
2   2.5    3.0   stcules 
3   2.5    3.0   stcules 
4   3.0    3.5   stcules 
5   4.5    4.0  johnmichaelsen 
6   3.5    3.5   oline73 
         beer_style review_palate review_taste 
1      Hefeweizen   1.5   1.5 
2    English Strong Ale   3.0   3.0 
3   Foreign/Export Stout   3.0   3.0 
4    German Pilsener   2.5   3.0 
5 American Double/Imperial IPA   4.0   4.5 
6   Herbed/Spiced Beer   3.0   3.5 
       beer_name beer_abv beer_beerid 
1   Sausa Weizen  5.0  47986 
2    Red Moon  6.2  48213 
3 Black Horse Black Beer  6.5  48215 
4    Sausa Pils  5.0  47969 
5   Cauldron DIPA  7.7  64883 
6 Caldera Ginger Beer  4.7  52159 
> 

我想用ddply来概括重复啤酒审查列成分析一个新的小数据帧是这可能使用ddply?

+1

你说你想总结一下。但是如何?您可以计算平均值,中位数,sd,总和,... – Roland

+0

平均评论数据可能有3条评论cauldron DIPA有3个不同的评分口味,我想结合这3条评论,同时采取一种平均值口味评论等。 – yodler01100100

+0

@ Dr.Eloyd - 在我看来,您需要退后一步,在使用像plyr这样的复杂软件包之前熟悉'R'。例如,你应该先学习基本操作,如子集化['' –

回答

0

这样的事情呢?

duplicate_data <- ddply(beer_data, .(brewery_id), function(x) { 
    if(nrow(x) > 1) 
     return(data.frame("brewery_id" = unique(x$brewery_id), "mean_ratings" = mean(x$review_overall))) 
     # You can fill in the rest 
    }) 
+0

谢谢Maisaura!我对R相当陌生,我怎么能做到个人收视率? – yodler01100100

+0

更新了答案。您可以填写剩下的其他评分。 – Maiasaura

+0

Thankyou再次Maisaura生病使它很好用:) – yodler01100100

相关问题