При запуске модели gam с использованием пакета mgcv я обнаружил странное сообщение об ошибке, которое я не могу понять. Сообщение об ошибке было "Ошибка в model.frame.default(formula = death ~ pm10 + Lag (остаток1, 1) +: переменная длина отличается (найдена для" Lag (остаток 1, 1) "). Число наблюдений, используемых в model1 точно такая же, как длина остаточного отклонения, поэтому я думаю, что эта ошибка не связана с разницей в размере или длине данных.
Я нашел довольно связанное сообщение об ошибке на веб-сайте здесь, но этот пост не получил адекватного ответа, поэтому мне не помогает моя проблема
Воспроизводимый пример и данные:
library(quantmod)
library(mgcv)
require(dlnm)
df <- chicagoNMMAPS
df1 <- df[,c("date","dow","death","temp","pm10")]
df1$trend<-seq(dim(df1)[1]) ### Create a time trend
Запустить модель
model1<-gam(death ~ pm10 + s(trend,k=14*7)+ s(temp,k=5), data=df1, na.action=na.omit, family=poisson)
Получить остатки отклонения
resid1 <- residuals(model1,type="deviance")
Добавить однодневное отставание от модели 1
model1_1 <- update(model1,.~.+ Lag(resid1,1), na.action=na.omit)
model1_2<-gam(death ~ pm10 + s(trend,k=14*7)+ s(temp,k=5) + Lag(resid1,1), data=df1, na.action=na.omit, family=poisson)
Обе эти модели выпустили одно и то же сообщение об ошибке