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))
})