在数据点顶部以置信区间绘制样条线

时间:2019-02-21 19:47:59

标签: r ggplot2 spline smoothing

我已使用样条线对数据运行了平滑过程,并设法在数据点上绘制了平滑的样条线。但是,我还需要在同一图中绘制样条函数的置信区间,这似乎无法做到。

我的数据框:

dput(df)
structure(list(x = c(1970, 1971, 1972, 1973, 1974, 1975, 1976, 
1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 
1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 
2010, 2011, 2012, 2013, 2014, 2015, 2016), y = c(1271, 739, 744, 
591, 682, 666, 755, 718, 668, 732, 795, 922, 908, 937, 1009, 
824, 783, 840, 859, 877, 891, 810, 840, 784, 702, 712, 666, 747, 
711, 790, 744, 664, 755, 803, 760, 780, 741, 734, 629, 623, 587, 
760, 863, 816, 722, 713, 698)), class = "data.frame", row.names = c(NA, 
-47L))

我使用包mgcv使样条拟合:

library(mgcv)
m.all <- gam(y~s(x),family=poisson,data=df)
plot(df$y ~ df$x)
lines(fitted(m.all) ~ df$x)

如果我绘制模型plot(m.all),我会得到样条线和置信区间,但是y轴对应于一些内部样条计算,因此不适合同时绘制数据点。

如何调整脚本以能够在绘图中包括平滑样条的置信区间?

0 个答案:

没有答案