绘制置信区间 - 绘制错误的线条

时间:2017-07-27 14:21:39

标签: r plot linear-regression confidence-interval

我是R的初学者,我希望你能解决我的问题。 我在一个图中绘制了两条回归线和置信区间。 On set属于校准集,另一个属于验证集。

通过绘制置信区间来显示问题。 我认为我的代码是正确的。但这些情节看起来似乎有些错误,因为它们有点复制。

第一个数据集

daten
value  value.1
1  11.026320 134.3143
2   9.639924 141.2350
3  10.536648 141.6315
4   6.592298 122.5119
5   8.076660 120.7184
6   9.932515 130.9272
7   7.643655 127.1847
8   8.878946 125.0633
9  13.533913 139.9746
10 13.348582 144.0469
11 14.276273 141.2087
12 14.187630 139.1795
13 13.857432 148.1722
14 13.253956 145.8228
15 14.354471 148.1940
16 14.248814 146.9241
17 17.686270 155.9812
18 17.705740 146.2779
19 17.391629 154.3003
20 17.491082 145.1513
21 18.336797 153.0822
22 19.360551 153.9610
23 18.365880 157.4013
24 17.371320 149.0933

第二个数据集

daten2
value  value.1
1  11.027943 136.4339
2  10.725851 131.2016
3   5.494134 122.1194
4  10.987261 142.4861
5   6.090814 122.3194
6   9.983886 130.3030
7  11.010931 142.7053
8   6.641026 123.9638
9  13.198628 131.7118
10 14.061979 144.1937
11 13.822600 144.9910
12 14.153742 144.8122
13 14.195045 145.7297
14 14.465848 144.8645
15 12.811249 137.6729
16 13.194417 143.7291
17 21.151684 158.4400
18 21.405668 156.9390
19 18.006218 154.5199
20 17.235035 153.8093
21 20.934721 161.3653
22 19.560745 157.4780
23 17.401843 151.5338
24 20.081625 150.0368

这是我的代码

plot(daten$value.1, daten$value, xlab="x", ylab="y", main="Regression", type="n")

model<-lm(value~value.1, data=daten)
model

abline(model, col="black")

model2<-lm(value~value.1, data=daten2)
par(new=TRUE)

abline(model2, col="black", lty=3)
model2

conf.int =  predict(model, interval="confidence",
                    level = 0.95) 
conf.int

conf.lower=conf.int[,2]
conf.lower
conf.upper = conf.int[,3]

conf.int2 =  predict(model2, newdata=daten2,interval="confidence",
                    level = 0.95) 
conf.int2

conf.lower2=conf.int2[,2]
conf.upper2 = conf.int2[,3]

lines(daten$value.1, conf.lower,col="red") 
lines(daten$value.1, conf.upper,col="red")
lines(daten2$value.1,conf.lower2, col="red", lty=3) 
lines(daten2$value.1,conf.upper2, col="red", lty=3)

1 个答案:

答案 0 :(得分:1)

如果没有看到数据或图表,很难知道问题是什么,以便我们可以看到“重复的样子”的含义。但如果问题是置信区间线,我怀疑问题可能与lines命令中的变量排序有关。您是否尝试对两个变量进行排序以确保行中的x和y彼此对应,如下所示?

lines(sort(daten$value.1), sort(conf.lower),col="red")

如果这不能解决问题,请提供更多信息,以便我们提供帮助。