0

为了估计 pm10 和 o3 对单个结果(代码中的死亡)的独立影响,我可以使用下面的脚本。在这个模型中,“pm10”和“o3”对死亡的影响是分开估计的。现在,如果我有几个结果,我该如何修改这个脚本来适应这种情况?在示例数据集中,感兴趣的结果是死亡、cvd 和 resp,我的目标是通过交替使用“pm10”和“o3”作为预测变量,为每一个运行一个模型。因此我希望运行 6 个模型(例如两个用于 cvd 的型号:-一种带有 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) 
      })
4

1 回答 1

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 
于 2013-11-13T10:29:53.533 回答