簡體   English   中英

R 中多個 glm 對象的變量列表循環

[英]Loop with list of variables for multiple glm objects in R

我無法終生明白為什么這在 R 中對我不起作用:(

## Unadjusted model 
noadj_var <- list("a",
                  "b",
                  "c",
                  "d",
                  )

for (i in 1:length(noadj_var)) {
  paste0("unadjusted_model_",i) <- glm(
    df$dependent_variable ~ i,
    data = df[df$present_2018 == "Yes" , ],
    family = binomial(link=logit),
    na.action = na.exclude
  )
}

我收到錯誤:

Error in model.frame.default(formula = df$dependent_variable ~ i, data = df[df$present_2018 ==  : 
 variable lengths differ (found for 'i')

我不明白為什么當我有 na.action = na.exclude 時會出現此錯誤

還有其他東西被搞砸了嗎?

在此之前,變量名稱“a”、“b”、“c”不是真實名稱,我不能只將它們更改為序列,它需要是一個字符串列表。

咕嚕聲purrr的另一種可能性:

 list("a",
       "b",
       "c",
       "d",
  ) %>% 
    purrr::set_names(paste0("unadjusted_model_", .)) %>% 
    purrr::map(~glm(reformulate(.x, 'dependent_variable'),data = df),
               family = binomial(link=logit),
               na.action = na.exclude ) %>% 
    purrr::map(broom::tidy)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM