Я использовал эту prcomp()
функцию для выполнения PCA (анализа главных компонентов) в R. Однако в этой функции есть ошибка, из-за которой na.action
параметр не работает. Я попросил помощи по stackoverflow ; два пользователя предложили два разных способа работы со NA
значениями. Однако проблема обоих решений заключается в том, что при наличии NA
значения эта строка отбрасывается и не учитывается в анализе PCA. Мой реальный набор данных представляет собой матрицу 100 x 100, и я не хочу терять всю строку только потому, что она содержит одно NA
значение.
В следующем примере показано, что prcomp()
функция не возвращает никаких основных компонентов для строки 5, поскольку она содержит NA
значение.
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
Мне было интересно, могу ли я установить NA
значения на определенное числовое значение, когда center
и scale
установлены TRUE
так, чтобы prcomp()
функция работала и не удаляла строки, содержащие NA
s, но также не влияла на результат анализа PCA.
Я думал о замене NA
значений медианным значением в одном столбце или значением, очень близким к 0. Однако я не уверен, как это влияет на анализ PCA.
Кто-нибудь может придумать хороший способ решения этой проблемы?
NA
значения : в чем причина «пропущенности»?