dplyr :: group_by%>%summarise(mean)返回相同的平均值

时间:2019-02-06 16:36:37

标签: r dplyr

我想展示的是在2015年的值超过10000的组和没有值的组的均值。

我可以使用以下代码用ddply实现它:

ddply(df, .(over10000 = c(df$"2015" > 10000)),function(x){data.frame("2015mean"=mean(x$"2015"))})

(这是我的数据框的外观。over10000列显示df $“ 2015”>10000。)

head(df)   
   2013  2014  2015 over10000   
1   634   630   620     FALSE   
2  4330  4410  4520     FALSE   
3  4600  4680  4760     FALSE   
4 39100 40800 41800      TRUE   
5  3710  3750  3730     FALSE   
6 11900 12400 12800      TRUE

所以我想使用group_by&summarise与dplyr取得相同的结果。 但是,以某种方式,我得到了整个2015年专栏的平均值,而不是各组的平均值。
这是我使用的代码:

df %>% dplyr::group_by(over10000) %>%
  dplyr::summarize("2015mean" = mean(df$"2015", na.rm=TRUE))  

有人知道我为什么遇到这个问题吗?

0 个答案:

没有答案