Eu usei a prcomp()
função para executar um PCA (análise de componentes principais) em R. No entanto, há um erro nessa função, de modo que o na.action
parâmetro não funciona. Eu pedi ajuda no stackoverflow ; dois usuários ofereceram duas maneiras diferentes de lidar com NA
valores. No entanto, o problema com as duas soluções é que, quando existe um NA
valor, essa linha é descartada e não é considerada na análise do PCA. Meu conjunto de dados real é uma matriz de 100 x 100 e não quero perder uma linha inteira apenas porque contém um único NA
valor.
O exemplo a seguir mostra que a prcomp()
função não retorna nenhum componente principal para a linha 5, pois contém um 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
Eu queria saber se posso definir os NA
valores para um valor numérico específico quando center
e scale
são definidos para TRUE
que a prcomp()
função funcione e não remova linhas contendo NA
s, mas também não influencie o resultado da análise do PCA.
Pensei em substituir NA
valores pelo valor mediano em uma única coluna ou com um valor muito próximo de 0. No entanto, não tenho certeza de como isso influencia a análise do PCA.
Alguém pode pensar em uma boa maneira de resolver esse problema?
NA
valores significam : qual é a causa da "falta"?