在運行model0
時發現下面我收到一條錯誤消息「eval(expr,envir,enclos)中的錯誤:找不到函數」滯後「。發佈此消息之前,我已經掃描了此論壇和網頁,但未找到相關解決方案。我相信我的模型中的錯誤可能不是由於Lag
函數,因爲下面顯示的其他模型(1和2)可以運行而不會遇到任何問題。錯誤:找不到函數「滯後」
我的主要動機是通過循環列出解釋變量及其滯後來運行GAM模型。
library(quantmod)
library(gamair)
library(mgcv)
data(chicago)
names(chicago)
varlist0 <- c("pm10median", "pm25median", "o3median", "so2median")
model0<- lapply(varlist0, function(x) {
gam(substitute(death ~ s(time,bs="cr",k=200)+ s(tmpd,bs="cr") + Lag(i,0:4) , list(i = as.name(x))),family=quasipoisson,na.action=na.omit, data=chicago)
})
邯+滯後,並沒有錯誤消息:
model1<- gam(death ~ s(time,bs="cr",k=200)+ s(tmpd,bs="cr") + Lag(pm10median, 0:4),family=quasipoisson,na.action=na.omit, data=chicago)
LM將和滯後,沒有錯誤消息:
hsb2 <- read.csv("http://www.ats.ucla.edu/stat/data/hsb2.csv")
varlist <- names(hsb2)[8:11]
models <- lapply(varlist, function(x) {
lm(substitute(read ~ Lag(i,0:4) , list(i = as.name(x))), data = hsb2)
})
我無法破譯這個原因錯誤。我在第一個模型中做了什麼錯誤?
感謝您的可重複的例子! –