У меня есть вопрос о расчете AUC для каждого человека в наборе данных после вменения с использованием MICE.
Я знаю, как я могу сделать это в полном наборе данных дел. Я сделал это следующим образом:
id <- c(1,2,3,4,5,6,7,8,9,10)
measure_1 <- c(60,80,90,55,60,61,77,67,88,90)
measure_2 <- c(55,88,88,55,70,61,80,66,65,92)
measure_3 <- c(62,88,85,56,68,62,89,62,70,99)
measure_4 <- c(62,90,83,54,65,62,91,59,67,96)
dat <- data.frame(id, measure_1, measure_2, measure_3, measure_4)
dat
x <- c(0,7,14,21) # number of days
library(Bolstad2)
f <- function(a){
Patient <- dat[a,]
vector_patient <- c(Patient[2:5])
AUCpatient <- sintegral(x,vector_patient)$int
return(AUCpatient)
}
vector <- c(1:10)
listAUC <- lapply(vector, f)
vector_AUC <- unlist(listAUC, use.names=FALSE)
vector_AUC
Это дало мне вектор со всеми AUC для всех пациентов. Этот вектор может быть добавлен в мой набор данных, если я хочу.
Но теперь у меня проблема: в моем наборе данных отсутствуют данные. Мой набор данных можно получить, используя следующий код:
id <- c(1,2,3,4,5,6,7,8,9,10)
measure1 <- c(60,NA,90,55,60,61,77,67,88,90)
measure2 <- c(55,NA,NA,55,70,NA,80,66,65,92)
measure3 <- c(62,88,85,NA,68,62,89,62,70,99)
measure4 <- c(62,90,83,54,NA,62,NA,59,67,96)
datmis <- data.frame(id, measure1, measure2, measure3, measure4)
datmis
Я хочу вписать этот набор данных с помощью MICE.
library(mice)
imp <- mice(datmis, maxit = 0)
meth <- imp$method
pred <- imp$predictorMatrix
imp <- mice(datmis, method = meth, predictorMatrix = pred, seed = 2018, maxit = 10, m = 5)
Так что теперь у меня есть все вменяемое. Я хочу создать AUC для каждого человека, в каждом вменяемом наборе данных. Затем я хочу объединить результаты, в результате чего по одному AUC для каждого человека. Однако использование формулы create в предыдущем примере больше не работает. Есть кто-то, кто может мне помочь?