R 小鼠实验后,如何在多个因变量上重复执行glm?

R 小鼠实验后,如何在多个因变量上重复执行glm?,r,glm,r-mice,R,Glm,R Mice,我有一个数据框,nrow=4312,ncol=105,我使用小鼠进行了多次插补: imp <- mice(data, m=20, maxit=10, method=meth, predictorMatrix=pred2, visitSequence=vis) imp像这样的东西应该可以工作: form <- as.formula("~ P0 + BMI + WtChange + MATAGE") listOfGlms<-lapply(vectorOfDependentVari

我有一个数据框,
nrow=4312,ncol=105
,我使用
小鼠进行了多次插补:

imp <- mice(data, m=20, maxit=10, method=meth, predictorMatrix=pred2, visitSequence=vis)

imp像这样的东西应该可以工作:

form <- as.formula("~ P0 + BMI + WtChange + MATAGE")
listOfGlms<-lapply(vectorOfDependentVariables, function(x) {
        lm(substitute(update.formula(form, i ~ .), list(i = as.name(x))), family=binomial, subset=(P1==1))
        })
使用purrr包更新表单,包含在tidyverse中
现在,您可以通过@Prolix和purrr:map编写正确答案,这使阅读更加直观,如下所示:

library(tidyverse)

independent.variables.formula <- "~ P0 + BMI + WtChange + MATAGE"
dependent.variables <- c("HDP", "DV2", "DV3")

models.list <- map(dependent.variables, function(DV) {

  paste(DV, independent.variables.formula) %>% 
    as.formula %>% 
    lm(family=binomial, subset=(P1==1))
})
库(tidyverse)

independent.variables.formula查看
?更新
。还可以查看broom软件包以获得估计值和置信区间。执行循环并使用
update.formula()
修改循环每次迭代中的因变量。在您的示例中,什么变量会发生变化(是
P0
)?对不起,忘记了关键细节…
HDP
更改
update。公式
lappy
和for loop一起工作…很高兴知道解决问题的多种方法,非常感谢!
library(tidyverse)

independent.variables.formula <- "~ P0 + BMI + WtChange + MATAGE"
dependent.variables <- c("HDP", "DV2", "DV3")

models.list <- map(dependent.variables, function(DV) {

  paste(DV, independent.variables.formula) %>% 
    as.formula %>% 
    lm(family=binomial, subset=(P1==1))
})