Построение сплайнов с доверительными интервалами поверх точек данных - PullRequest
0 голосов
/ 21 февраля 2019

Я выполнил процедуру сглаживания своих данных с использованием сплайнов, и мне удалось нанести сглаженную линию сплайна поверх моих точек данных.Однако мне также нужно построить доверительные интервалы функции сплайна на том же графике, что я не могу сделать.

Мой фрейм данных:

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, соответствующей некоторым внутренним вычислениям сплайна, не подходит для одновременного построения точек данных.

Как настроить скрипт, чтобы иметь возможность включать доверительные интервалы сглаженного сплайна в мой график?

...