Tengo el siguiente tipo de asociado datos. El siguiente paso de ejemplo para generar la variable asociada. p número de variables y n es el número de observaciones.
p = 500
n = 200
mat <- matrix(NA, ncol = 500, nrow = 200)
for (i in 1:p){
if(i ==1){
fs <- sample (c("AA", "AB", "AB", "BB"), n, replace=TRUE)
mat[,i] <- fs
fs1 <- fs
}
rechr <- sample(1:n, 1)
fs1[rechr] <- sample (c("AA", "AB", "AB", "BB"), 1)
mat[,i] <- fs1
}
dim(mat)
mat[1:10,1:20]
Los datos anteriores están completos, pero en el conjunto de datos reales tengo valores perdidos (que se distribuyen aleatoriamente dentro de cada variable).
Me gustaría predecirlos utilizando random forest (o cualquier otro algoritmo apropiado). Pongamos aleatoriamente un 10% de valores perdidos (el número aproximado de variables) a los datos anteriores.
rowind <- sample(1:n, 20)
colind <- sample(1:p, 20)
for (i in 1:length(rowind)){
mat[rowind[i],colind[i]] <- NA
}
mat[1:20,1:10]
¿Cómo se puede hacer esto y qué cuestiones Tengo que pensar en hacerlo - teniendo en cuenta variables categóricas Número de observaciones y variables
Editar: Como todas las variables están correlacionadas y ninguna es respuesta (pero puede servir como respuesta) mientras se hace la predicción. Por ejemplo, la predicción del valor perdido de mat[,1] puede basarse en el resto de las variables, la predicción de mat[,2] puede basarse en la predicción del resto de las variables. Por lo tanto, el objetivo aquí es predecir todos los valores perdidos en todas las variables (todas ellas son categóricas).
Edición 2
Estoy interesado en imputación múltiple de estos datos para poder realizar otros análisis que requieran un conjunto de datos completo sin valores perdidos.