我想展示的是在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))
有人知道我为什么遇到这个问题吗?