Я с трудом выполняю свой анализ после множественного вменения (с использованием пакета r smcfcs), и мне было интересно, есть ли у сообщества какие-либо советы. Две основные проблемы заключаются в том, что (1) я не могу запустить smcfcs на фреймворке данных, включая неупорядоченные факторы (обратите внимание, что это, похоже, работает в смоделированном наборе данных) и (2) я не могу преобразовать результирующий список вмененных dfs в объект mids .
Я прилагаю код ниже:
set.seed(566)
df <- data.frame(ID = sample(1000:2000, 100, replace=TRUE),
Group = rbinom(100,1, prob = 0.5),
age_group = rbinom(100,1, prob = 0.7),
sex = rbinom(100,1, prob = 0.4),
testscore_baseline = rnorm(100, 10, 1.5),
testscore_followup = rnorm(100, 12, 2),
education = sample(0:4, 100, replace=TRUE))
df <- as.data.frame(lapply(df, function(cc) cc[ sample(c(TRUE, NA), prob = c(0.85, 0.15), size = length(cc), replace = TRUE) ]))
Кажется, это работает в смоделированном наборе данных. В исходном наборе данных я обычно получаю эту ошибку:
Error in model.matrix(as.formula(smformula), imputations[[imp]]) %*% beta :
non-conformable arguments
вторая проблема: преобразовать в объект средних размеров
s.mids <- miceadds::datlist2mids( imps$impDatasets )
# run analysis on imputated datasets and pool results together
model_int <- with( s.mids, aov(lm( testscore_followup ~ testscore_baseline + age_group + sex + education + Group + age_group*Group ) )
summary( mice::pool( model_int ) )
получена ошибка:
Error in FUN(left, right) : comparison of these types is not implemented
In addition: Warning message:
In eval(f) : Incompatible methods ("Ops.ordered", "Ops.factor") for "!="
I ценим любой совет, который вы можете дать по этому поводу. Спасибо!