0

pm10 と o3 が単一の結果 (コード内の死) に及ぼす独立した効果を見積もるには、以下のスクリプトを使用できます。このモデルでは、死に対する「pm10」と「o3」の影響が別々に推定されます。いくつかの結果がある場合、この状況に対応するためにこのスクリプトを変更するにはどうすればよいですか? サンプル データ セットでは、関心のある結果は死、cv​​d、および resp であり、私の目的は、「pm10」と「o3」を予測子として交互に使用して、これらのそれぞれに対して 1 つのモデルを実行することです。したがって、6 つのモデルを実行することを期待しています (たとえば、2 つのモデル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 に答える