为了估计pm10和o3对单个结果(代码中的死亡)的独立影响,我可以使用下面找到的脚本。在该模型中,“pm10”和“o3”对死亡的影响是分开估计的。现在,如果我有几个结果,我如何修改此脚本以适应这种情况?在示例数据集中,感兴趣的结果是death,cvd和resp,我的目标是通过使用“pm10”和“o3”作为预测变量来为每个模型运行一个模型。因此我希望运行6个模型(例如两个cvd的模型:-one与pm10和一个与03)。
library(quantmod)
library(mgcv)
library(dlnm)
df <- chicagoNMMAPS
#out<- c("death", "cvd", "resp ")
varlist0 <- c("pm10", "o3")
m1 <- lapply(varlist0,function(v) {
f <- sprintf("death~ s(time,bs='cr',k=200)+s(temp,bs='cr') + Lag(%s,0:6)",v)
gam(as.formula(f),family=quasipoisson,na.action=na.omit,data=df)
})
答案 0 :(得分:0)
我已经在R-help@r-project.org邮件列表上交叉发布了这个问题,Rui Barradas提供了以下答案。代码工作正常,但我发现数据有点慢。
m1 <- lapply(varlist0,function(v) {
lapply(outcomes, function(o){
f <- sprintf("%s~ s(time,bs='cr',k=200)+s(temp,bs='cr') + Lag(%s,0:6)", o, v)
gam(as.formula(f),family=quasipoisson,na.action=na.omit,data=df)
})})
m1 <- unlist(m1, recursive = FALSE)
m1