我想用
CreateTableOne()
来计算小鼠估算后两组(SMD(standardized mean difference)
和grou=0
)之间变量的grou=1
。但是我发现CreateTableOne()
不能嵌套在with()
里面。
library(tableone)
library(MICE)
data("nhanes2")
vars=c("bmi","chl","age","hyp")
catvars=c("age","hyp")
data_im=mice(nhanes2,m=5,seed=6666)
pool(with(data_im,CreateTableOne(vars = vars, factorVars= catvars,strata = "hyp", test =TRUE)))
# **Error in ModuleStopIfNotDataFrame(data) :
# argument "data" is missing, with no default
如何通过pool()计算推算数据集的SMD?
你可以得到所有的表
with(data_im, CreateTableOne(
vars = vars,
data=as.data.frame(mget(ls())),
factorVars=catvars,strata = "hyp", test =TRUE))
我们使用
mget()
抓取环境中的所有变量,并将它们变成一个data.frame。
这将返回一个 TableOne 对象列表。但是没有方法来
pool
这样的对象,所以不清楚你想如何计算SMD。此示例中没有组。如果您需要有关如何组合来自多重插补的统计值的建议,您应该改为在 [stats.se] 上寻求统计建议。