使用dplyr包按组计算平均值

时间:2017-10-10 07:58:46

标签: r dplyr

我正在使用ggplot2中着名的数据集练习dplyr包,'钻石'数据。 我正在尝试计算平均值'价格'按变量'切割的钻石分组。 我的代码如下。

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

我的期望是将平均价格按照“切割”分组。变量。但是,我只得到一个价值,即价格的总平均值。

>price.cut
   Mean
1 3932.8

我做错了什么?

1 个答案:

答案 0 :(得分:21)

原因可能是我们意外加载了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