Я выполнил процедуру сглаживания своих данных с использованием сплайнов, и мне удалось нанести сглаженную линию сплайна поверх моих точек данных.Однако мне также нужно построить доверительные интервалы функции сплайна на том же графике, что я не могу сделать.
Мой фрейм данных:
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, соответствующей некоторым внутренним вычислениям сплайна, не подходит для одновременного построения точек данных.
Как настроить скрипт, чтобы иметь возможность включать доверительные интервалы сглаженного сплайна в мой график?