Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ggplot2和R中创建正态分布散点图的置信区域_R_Statistics_Ggplot2_Visualization_Graphing - Fatal编程技术网

在ggplot2和R中创建正态分布散点图的置信区域

在ggplot2和R中创建正态分布散点图的置信区域,r,statistics,ggplot2,visualization,graphing,R,Statistics,Ggplot2,Visualization,Graphing,我有一些数据,比如(实际上,我有大量数据): 这些数据大致遵循我用ggplot stat_smooth()绘制的趋势曲线。stat_smooth创建了一个灰色区域,有95%的信心趋势线将落入其中 我想做的是在趋势线周围创建一个灰色区域,在该区域周围创建一个灰色区域,数据点将以95%的置信度下降,假设趋势线周围为正态分布 另一种说法是,我想要一条平滑的线连接误差条的顶部和底部,并在ggplot中对中间进行着色。我该怎么做呢 谢谢。您所寻找的基本上被称为预测间隔。在ggplot2 library(g

我有一些数据,比如(实际上,我有大量数据):

这些数据大致遵循我用ggplot stat_smooth()绘制的趋势曲线。stat_smooth创建了一个灰色区域,有95%的信心趋势线将落入其中

我想做的是在趋势线周围创建一个灰色区域,在该区域周围创建一个灰色区域,数据点将以95%的置信度下降,假设趋势线周围为正态分布

另一种说法是,我想要一条平滑的线连接误差条的顶部和底部,并在ggplot中对中间进行着色。我该怎么做呢


谢谢。

您所寻找的基本上被称为预测间隔。在
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))
库(ggplot2)
#运行回归并追加预测间隔
lm_fit=lm(总账单-小费,数据=小费)
tips\u with_pred=data.frame(tips,predict(lm\u fit,interval='prediction'))
#用回归线、置信区间和预测区间绘制

有趣的数据。。。有许多慷慨的人。我想,x轴和y轴应该颠倒,不是吗?是的。我只是很快地拼凑了一些东西来说明这两个区间的构造。我想这篇文章最终说服了我,让我全力以赴学习第三种
R
图形系统。
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))