Użyłem tej prcomp()
funkcji do wykonania PCA (analiza głównego składnika) w R. Jednak w tej funkcji jest błąd, który na.action
powoduje, że parametr nie działa. Poprosiłem o pomoc w stosie przepływu ; dwóch użytkowników zaoferowało dwa różne sposoby radzenia sobie z NA
wartościami. Problem z obydwoma rozwiązaniami polega jednak na tym, że gdy istnieje NA
wartość, wiersz jest pomijany i nie jest uwzględniany w analizie PCA. Mój prawdziwy zestaw danych to macierz 100 x 100 i nie chcę stracić całego wiersza tylko dlatego, że zawiera jedną NA
wartość.
Poniższy przykład pokazuje, że prcomp()
funkcja nie zwraca żadnych głównych składników dla wiersza 5, ponieważ zawiera NA
wartość.
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
Zastanawiałem się, czy mogę ustawić NA
wartości na określoną wartość liczbową, kiedy center
i scale
są ustawione na TRUE
tak, aby prcomp()
funkcja działała i nie usuwała wierszy zawierających je NA
, ale także nie wpływała na wynik analizy PCA.
Myślałem o zastąpieniu NA
wartości wartością mediany w jednej kolumnie lub wartością bardzo zbliżoną do 0. Nie jestem jednak pewien, jak to wpływa na analizę PCA.
Czy ktoś może wymyślić dobry sposób na rozwiązanie tego problemu?
NA
wartości : jaka jest przyczyna „zaginięcia”?