我需要你的帮助。我正在尝试以95%的置信区间绘制LOESS线。 LOESS贴合线看起来很平滑,但CI波段看起来参差不齐。如何使它们光滑?
我正在Windows下使用R GUI 3.5.2(x64)。
要复制的代码:
x <- c(52.145, 64.7763333333333, 5.67666666666667, 9.20433333333333,
27.2216666666667, 24.582, 110.125333333333, 204.760666666667,
22.5476666666667, 36.8053333333333, 26.651, 21.918, 27.0943333333333,
40.3293333333333, 74.2676666666667, 47.4926666666667, 6.52833333333333,
8.256, 22.8563333333333, 78.8866666666667, 215.426666666667,
126.403, 153.092333333333, 145.178, 52.748, 52.625, 77.714, 90.718,
149.326666666667, 166.201666666667, 2.75966666666667, 4.48933333333333,
100.533666666667, 63.2303333333333, 177.810333333333, 262.929333333333,
1.89166666666667, 5.78433333333333, 8.079, 7.904, 219.011333333333,
285.053, 268.940666666667, 314.485333333333, 26.394, 32.5373333333333)
y <- c(8.49946738825106, 7.29520245195293, 30.8997268609617, 15.5103125126096,
15.4272708801451, 5.20309902020628, 5.54009400197214, 4.78299334331501,
19.6108718604226, 15.0078723188159, 14.7205349306272, 22.8457479040348,
7.51298922530701, 30.523886336804, 16.6780115471446, 17.0293235066314,
21.4184087138986, 27.7684786021191, 16.2257718439185, 12.9437536112634,
7.1482850633121, 5.88468308537335, 14.903472797458, 6.78855737045925,
13.8022476754789, 9.27299793481615, 5.70560924863637, 5.09707444175834,
2.62057882780782, 4.67082818412207, 31.2134177720261, 62.7183002243229,
17.3998126739725, 7.27920875242628, 6.97326341930058, 3.644112408786,
83.0020817353163, 10.5840077295553, 36.8081152007687, 26.1648393978833,
2.72967129507292, 3.34330462563615, 7.24378060360362, 5.62587984381713,
18.2047389283449, 5.81239109000072)
plot(x, y)
j <- order(x)
plo <- predict(loess(y ~ x), se=TRUE)
lines(x[j], plo$fit[j])
lines(x[j], plo$fit[j] - qt(0.975,plo$df)*plo$se)
lines(x[j], plo$fit[j] + qt(0.975,plo$df)*plo$se)
非常感谢!
答案 0 :(得分:1)
对于标准错误,您还需要使用顺序j
:
lines(x[j], plo$fit[j])
lines(x[j], plo$fit[j] - qt(0.975,plo$df) * plo$se[j])
lines(x[j], plo$fit[j] + qt(0.975,plo$df) * plo$se[j])