Utilicé la prcomp()
función para realizar un PCA (análisis de componentes principales) en R. Sin embargo, hay un error en esa función de modo que el na.action
parámetro no funciona. Pedí ayuda sobre stackoverflow ; dos usuarios ofrecieron dos formas diferentes de tratar con los NA
valores. Sin embargo, el problema con ambas soluciones es que cuando hay un NA
valor, esa fila se descarta y no se considera en el análisis de PCA. Mi conjunto de datos real es una matriz de 100 x 100 y no quiero perder una fila completa solo porque contiene un solo NA
valor.
El siguiente ejemplo muestra que la prcomp()
función no devuelve ningún componente principal para la fila 5 ya que contiene un NA
valor.
d <- data.frame(V1 = sample(1:100, 10), V2 = sample(1:100, 10),
V3 = sample(1:100, 10))
result <- prcomp(d, center = TRUE, scale = TRUE, na.action = na.omit)
result$x # $
d$V1[5] <- NA # $
result <- prcomp(~V1+V2, data=d, center = TRUE, scale = TRUE, na.action = na.omit)
result$x
Me preguntaba si puedo establecer los NA
valores en un valor numérico específico cuando center
y scale
se configuran para TRUE
que la prcomp()
función funcione y no elimine las filas que contienen NA
's', pero tampoco influye en el resultado del análisis de PCA.
Pensé en reemplazar los NA
valores con el valor medio en una sola columna, o con un valor muy cercano a 0. Sin embargo, no estoy seguro de cómo eso influye en el análisis de PCA.
¿Alguien puede pensar en una buena manera de resolver ese problema?
NA
valores : ¿cuál es la causa de la "falta"?