2017-10-10 68 views
1

我正在使用來自ggplot2'鑽石'數據的着名數據集練習dplyr軟件包。 我正在計算按變量'cut'分組的鑽石的平均'價格'。 我的代碼如下。使用dplyr軟件包按組計算均值

price.cut <- diamonds %>% 
group_by(cut) %>% 
summarize(Mean = mean(price, na.rm=TRUE)) 

我的期望是得到平均價格按'cut'變量分組。但是,我只能得到一個價格,即價格的總平均值。

>price.cut 
    Mean 
1 3932.8 

我在做什麼錯?

回答

2

原因可能是我們不小心加載了plyr庫。有一個summarise在該軟件包

diamonds %>% 
    group_by(cut) %>% 
    dplyr::summarize(Mean = mean(price, na.rm=TRUE)) 
# A tibble: 5 x 2 
#  cut  Mean 
#  <ord> <dbl> 
#1  Fair 4358.758 
#2  Good 3928.864 
#3 Very Good 3981.760 
#4 Premium 4584.258 
#5  Ideal 3457.542 

如果我們使用plyr::summarise

diamonds %>% 
    group_by(cut) %>% 
    plyr::summarize(Mean = mean(price, na.rm=TRUE)) 
# Mean 
#1 3932.8 
+1

非常感謝您akrun!它運作良好,問題得到解決:) –

+0

@akrun將'%>%'工作而不使用'magrittr'或'dplyr'?當你使用'dplyr :: summarize'(不加載一個包) – PoGibas

+0

@PoGibas'magrittr'通過namesapce加載,雖然我沒有特別加載它 – akrun