Я использую MICE для вменения данных в многоуровневую модель. Затем я использую функцию with () в MICE для многоуровневого анализа с помощью lmer (). В этом первом наборе данных рассматривается общая преступность. Затем я провожу еще один анализ по типу преступления, чтобы собрать насильственные преступления и преступления против собственности. Первоначально для этого второго набора данных я думал собрать данные о преступлениях против собственности и насильственных преступлениях до вменения, а затем вменять предикторы, но это занимает НАВСЕГДА (более 20 часов). Есть ли способ собрать выходные данные MICE (ниже mice.crime), чтобы затем смоделировать ценности насильственных преступлений и преступлений против собственности?
Большое спасибо!
Вот воспроизводимый пример, по сути, я просто хочу собрать насильственные преступления и преступления против собственности:
library(mice)
df.1 <- data.frame(place_id = as.integer(seq (1:n)),
property_crime = as.numeric(sample(c(20:90), n, rep = TRUE)),
violent_crime = as.numeric(sample(c(20:90), n, rep = TRUE)),
med_income = sample(c(20:90), n, rep = TRUE))%>%
mutate(crime_total = property_crime + violent_crime)
df <- apply(subset(df.1,select=-c(place_id, property_crime, violent_crime, crime_total)), 2, function(x)
{x[sample(c(1:n),floor(n/10))]<-NA; x})
df.1 <- df.1%>%select(-(med_income))
df <- cbind(df.1, df)
impmethod.1 <- character(ncol(df))
names(impmethod.1) <- colnames(df)
impmethod.1[c("med_income")] <- "2l.lmer"
impmethod.1[c("place_id", "property_crime", "violent_crime", "crime_total")] <- ""
impmethod.1
pm <- make.predictorMatrix(df)
pm["place_id",] <- -c(0,0,0,0,2)
pm["property_crime",] <- -c(-2,0,0,0,2)
pm["violent_crime",] <- -c(-2,0,0,0,2)
pm["crime_total",] <- -c(-2,0,0,0,2)
pm["med_income",] <- -c(-2,0,0,0,0)
mice.crime <- mice(df, m=5, predictorMatrix = pm,
method=impmethod.1, maxit=10, printFlag = FALSE, seed=1874)