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.actionparâmetro não funciona. Eu pedi ajuda no stackoverflow ; dois usuários ofereceram duas maneiras diferentes de lidar com NAvalores. No entanto, o problema com as duas soluções é que, quando existe um NAvalor, 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 NAvalor.
O exemplo a seguir mostra que a prcomp()função não retorna nenhum componente principal para a linha 5, pois contém um NAvalor.
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 NAvalores para um valor numérico específico quando centere scalesão definidos para TRUEque a prcomp()função funcione e não remova linhas contendo NAs, mas também não influencie o resultado da análise do PCA.
Pensei em substituir NAvalores 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?
NAvalores significam : qual é a causa da "falta"?