我在多重插补数据集中使用coxph()
了包中的函数,并在尝试合并结果时遇到了警告。survival
警告消息指出:"In mice.df(m, lambda, dfcom, method) : Large sample assumed.
下面是一个可重现的示例(使用公开可用的数据,无需过多担心同时使用这些数据的适当性mice()
)coxph()
:
library(mice)
library(survival)
#load publically available data
data(pbc)
#select variables for the reproducable example
pbc.select <- pbc[pbc$status %in% c(0,1) , c("id", "time", "status", "trt")]
imp <- mice(pbc.select) #impute trt
fit <- with(imp, coxph(Surv(time, status) ~ trt)) #fit coxph in each imp
pool(fit) #pool the models; get's the error
此警告似乎是由于pool()
函数试图要求 dfcom 从
dfcom <- df.residual(object)
wheredf.residual()
不适用于本文所指的对象,属于类coxph
class(fit) # "mira" "matrix"
class(fit$analyses[[1]]) "coxph"
我的问题是
- 我是否出于目的使用正确的语法
- 如果是这样,有没有办法提供
pool()
适当的信息? - 这个假设如何影响结果?