用dplyr按组计算平均值

时间:2018-05-15 11:40:24

标签: r dplyr

我正在练习dplyr包,在按组计算平均值时遇到一些问题。 这是我数据的一个子集

head(Data)
CodeProject Price
Pr1           3
Pr1           4
Pr1           5
Pr2           6
Pr2           9

我想计算每个项目的平均值,我尝试了下面的代码

library(dplyr)
Data  %>%
group_by(Data$CodeProject) %>%
summarize(
n = n(),
mean_pr = mean(Price, na.rm=T)
)

但是当我这样做时,我得到了这个结果:

Data$CodeProject  n   mean_pr
Pr1               3     5.4
Pr2               2     5.4

我尝试添加dplyr :: summarize,但结果相同

我该如何解决?

非常感谢

1 个答案:

答案 0 :(得分:2)

你快到了那里:

Data  %>%
    group_by(CodeProject) %>%
    summarise(
        n = n(),
        mean_pr = mean(Price, na.rm=T))
## A tibble: 2 x 3
#  CodeProject     n mean_pr
#  <fct>       <int>   <dbl>
#1 Pr1             3    4.00
#2 Pr2             2    7.50