es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo hacer para que mis valores faltantes se mantengan iguales después de realizar la imputación con MICE y guardar mis resultados?

Como nuevo usuario de R, tengo dificultades para entender por qué los valores NA en mi dataframe siguen cambiando. Estoy ejecutando mi código en Kaggle. ¿Quizás ese sea el origen de mi problema?

Dataframe original titulado “abc”: vínculo a la imagen

Hay varias columnas que tienen valores NA, por lo que decidí intentar usar la imputación múltiple para manejar los valores NA.

Así que creé un nuevo dataframe con solo las columnas que tenían valores NA y comencé la imputación. Nuevo dataframe titulado “abc1”: vínculo a la imagen

# Crear un nuevo dataframe que consista en las columnas con valores NA
abc1 <- select(abc, c(9,10,15,16,17,18,19,25,26))

# Imputación con mice
input_data <- abc1
my_imp <- mice(input_data, m=5, method="pmm", maxit=20)

summary(input_data$m_09)
my_imp$imp$m_09

Cuando comienza la imputación, crea 5 columnas que contienen nuevos valores para rellenar los valores NA de la columna m_09, y yo elijo qué columna.

Imputación de la columna ‘m_09’: vínculo a la imagen

Luego ejecuto este código:

final_clean_abc1 <- complete(my_imp,5)

Esto asigna los valores de la columna 5 de la última imagen a los valores NA en mi dataframe “abc1” y lo guarda como “final_clean_abc1”.

Por último, reemplazo las columnas del dataframe original “abc” que tenían valores faltantes con las nuevas columnas en “final_clean_abc1”.

Sé que esto probablemente no sea lo más limpio:

abc$m_0_9 <- final_clean_abc1$m_0_9
abc$m_10_12 <- final_clean_abc1$m_10_12
abc$f_0_9 <- final_clean_abc1$f_0_9
abc$f_10_12 <- final_clean_abc1$f_10_12
abc$f_13_14 <- final_clean_abc1$f_13_14
abc$f_15 <- final_clean_abc1$f_15
abc$f_16 <- final_clean_abc1$f_16
abc$asian_pacific_islander <- final_clean_abc1$asian_pacific_islander
abc$american_indian <- final_clean_abc1$american_indian

Ahora que tengo un dataframe “abc” sin valores faltantes, aquí es donde surge mi problema. Debería ver “162” para la fila 10 de la columna m_09, pero cuando guardo mi código y lo veo en Kaggle, obtengo el valor “7” para esa fila y columna específica. Como se muestra en la foto a continuación.

Dataframe “abc” sin valores NA: vínculo a la imagen

Espero que esto tenga sentido. Traté de ser lo más específico posible.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Es posible que el problema con cambiar los valores NA en el dataframe original en Kaggle se deba a la forma en que Kaggle maneja y muestra los dataframes. También es posible que haya un error de codificación, pero sin ver el código real es difícil determinar la causa exacta del problema.

    Una sugerencia sería verificar el código utilizado para reemplazar los valores NA originales con los valores imputados. También puede ser útil ejecutar el código en un entorno local de R para ver si el problema persiste.

    En general, es importante siempre probar y validar minuciosamente el código, especialmente cuando se trabaja con datos faltantes y técnicas de imputación.

Comments are closed.