And*_*ins 10 statistics graphing visualization r ggplot2
我有一些数据,说(实际上,我有大量的数据):
x y
0.1 0.267
0.2 0.254
0.3 0.182
0.4 0.173
0.5 0.121
0.6 0.089
0.7 0.070
0.8 0.056
0.9 0.031
Run Code Online (Sandbox Code Playgroud)
这个数据大致遵循我用ggplot stat_smooth()绘制的趋势曲线.stat_smooth创建一个灰色区域,95%确信趋势线会落入其中.
我想要做的是在趋势线所在的周围创建一个灰色区域,假设围绕趋势线的正态分布,数据点将以95%的置信度创建一个灰色区域.
另一种说法是,我想要一个smooth_lines连接误差条的顶部和底部,并在ggplot中遮蔽.我应该怎么做呢?
谢谢.
Ram*_*ath 21
您正在寻找的内容基本上称为预测间隔.这是一种方法ggplot2
library(ggplot2)
# RUN REGRESSION AND APPEND PREDICTION INTERVALS
lm_fit = lm(total_bill ~ tip, data = tips)
tips_with_pred = data.frame(tips, predict(lm_fit, interval = 'prediction'))
# PLOT WITH REGRESSION LINE, CONFIDENCE INTERVAL AND PREDICTION INTERVAL
p0 <- ggplot(tips_with_pred, aes(x = tip, y = total_bill)) +
geom_point() +
geom_smooth(method = 'lm', aes(fill = 'confidence'), alpha = 0.5) +
geom_ribbon(aes(y = fit, ymin = lwr, ymax = upr, fill = 'prediction'),
alpha = 0.2) +
scale_fill_manual('Interval', values = c('green', 'blue')) +
opts(legend.position = c(0.20, 0.85))
Run Code Online (Sandbox Code Playgroud)
