[英]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.