2013-08-19 19 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

相關問題