首页 > 解决方案 > 为分箱数据生成置信区间 - ggplot2

问题描述

我正在尝试生成一个非常嘈杂且大的基础数据集的程式化版本和回归线。为此,我制作了箱或不同宽度的箱,试图使每个箱中的观察数量相等,如下所示:

library(mltools)

complete$mtgHours_evenBins <- bin_data(complete$mtgHoursPerUser_mean, bins=500, binType = "quantile")

然后我得到垃圾箱的中点并得到新的聚合方法,如下所示:

complete$mtgHours_evenBins_midpoints <- midpoints(complete$mtgHours_evenBins)

#generate new aggregated means after grouping by new bins
complete <- complete %>%
            dplyr::group_by(mtgHours_evenBins) %>%
            dplyr::mutate(even_binned_rev_2016_log_mean = mean(rev_2016_log)) 

我可以像这样绘制图表:

ggplot(data = complete, aes(x = mtgHours_evenBins_midpoints, y=even_binned_rev_2016_log_mean))+
  geom_point(color='blue') +
  stat_smooth(data=complete, aes(x = mtgHours_evenBins_midpoints, y = binned_rev_2016_log_mean), 
              method = "lm", formula = y ~ x + I(x^2), size = 1, color = "red", se = TRUE)

但是,无论我使用 stat_smooth 还是 geom_smooth,都不会生成置信区间。这是因为每个观测值(bin)都包含相同数量的观测值吗?有什么我想念的吗?

标签: rggplot2

解决方案


推荐阅读