共享整个置信区间的区域(基本图形)

时间:2018-11-26 10:34:30

标签: r

我正在R中使用以下代码来绘制线性回归,并在回归线上围绕置信区间带(95%)进行绘制。

Average <- c(0.298,0.783429,0.2295,0.3725,0.598,0.892,2.4816,2.79975,
             1.716368,0.4845,0.974133,0.824,0.936846,1.54905,0.8166,1.83535,
             1.6902,1.292667,0.2325,0.801,0.516,2.06645,2.64965,2.04785,0.55075,
          0.698615,1.285,2.224118,2.8576,2.42905,1.138143,1.94225,2.467357,0.6615,
             0.75,0.547,0.4518,0.8002,0.5936,0.804,0.7,0.6415,0.702182,0.7662,0.847) 

Area <-c(8.605,16.079,4.17,5.985,12.419,10.062,50.271,61.69,30.262,11.832,25.099,
          8.594,17.786,36.995,7.473,33.531,30.97,30.894,4.894,8.572,5.716,45.5,69.431,
          40.736,8.613,14.829,4.963,33.159,66.32,37.513,27.302,47.828,39.286,9.244,19.484,
          11.877,9.73,11.542,12.603,9.988,7.737,9.298,14.918,17.632,15)

lm.out <- lm (Area ~ Average)
newx = seq(min(Average), by = 0.05)
conf_interval <- predict(lm.out, newdata = data.frame(Average = newx), interval ="confidence",
                         level = 0.95)

plot(Average, Area, xlab ="Average", ylab = "Area", main = "Regression")

abline(lm.out, col = "lightblue")

lines(newx, conf_interval[,2], col = "blue", lty ="dashed")
lines(newx, conf_interval[,3], col = "blue", lty ="dashed")

我之所以陷入困境,是因为我得到的图形只报告了线的第一部分的带,而忽略了其余所有线(您可以在消息底部找到指向图像的链接)。怎么了?我还想对置信区间的区域(不仅是与限制相对应的线)加阴影,但我不知道该怎么做。 任何帮助将不胜感激,我在R中是全新的。

1 个答案:

答案 0 :(得分:0)

使用ggplot2 -library非常简单。这是代码:

library(ggplot2)
data = data.frame(Average, Area)
ggplot(data=data, aes(x=Area, y=Average))+
  geom_smooth(method="lm", level=0.95)+
  geom_point()

安装库的代码:

install.packages("ggplot2")
相关问题