The R
包裹mice
附带以下示例:
library("mice")
imp <- mice(nhanes)
fit <- with(data=imp,exp=lm(bmi~hyp+chl))
我想要一个灵活的调用with()
like:
model_formula <- bmi~hyp+chl
fit <- with(data=imp,exp=lm(model_formula))
但这会抛出Error in eval(predvars, data, env) : object 'bmi' not found
。我搜索了类似的问题。我发现衣柜的问题是帮助理解我在 R 中定义的函数中的错误。
我的印象是,写exp=lm(model_formula)
表达方式lm(model_formula)
立即评估,但是在写入时exp = lm(bmi~hyp+chl)
它不会立即评估 - 相反,评估将在函数中进行with.mice()
?如果是这样,我怎样才能防止即时评估?
@user20650 的评论是解决方案的线索。需要先将公式改为字符,可以通过以下方式实现format
,然后再次将其变成一个公式:
model_formula <- bmi~hyp+chl
fit <- with(data=imp,exp=lm(formula(format(model_formula))))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)