Я работаю над мета-анализом и анализом чувствительности к отсутствующим данным.Я хочу заменить цензурированные данные на 0 или 1 в соответствии с заранее определенной вероятностью.
У меня есть набор данных со столбцом x: timepoints и y: events (1 = событие, 0 = цензура).Для анализа я заменил некоторые из 0 на NA.Z - индикатор для лечащей руки.Я хочу заменить NA на 1 или 0 с предопределенной вероятностью.Это мой код:
Просто пример:
library(mice)
x <- c(1:10)
y <- c(1,1,1,NA,NA,NA,1,1,0,NA)
z <- rep(2,10)
data <- data.frame(x,y,z)
str(data)
md.pattern(data)
mice.impute.myfunct <- function(y, ry, x, ...)
{event <- sample(c(0:1), size = 1, replace=T, prob=c(0.5,0.5)); return(event)}
data.imp <- mice(data, me = c("","myfunct",""), m = 1)
data.comp <- complete(data.imp)
Я ожидаю, что NA в y будут заменены на 0 (20% случаев) и 1 (80% случаев),Но NA либо заменяются только на 0, либо только на 1.
Я должен признать, что я довольно новичок в R и не должен был писать собственные маленькие функции.
СпасибоВы очень за вашу помощь!