如何在 mice 之后使用 with() 中的 CreateTableOne() 来获得汇总结果?

问题描述 投票:0回答:1

我想用

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?

r dataframe imputation r-mice
1个回答
0
投票

你可以得到所有的表

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] 上寻求统计建议。

© www.soinside.com 2019 - 2024. All rights reserved.