Превращение вывода PCA в кадр данных в R - PullRequest
0 голосов
/ 25 января 2020

Я провел анализ основных компонентов. Выходные данные загрузки pca1 $ выглядят как фрейм данных, но это не так. Есть ли способ превратить это в массив данных?

Я бы хотел отсортировать столбцы вывода. Также было бы хорошо, если бы я мог использовать вывод в Excel.

Это код, который я использовал для генерации PCA.

cor <- cor(df[, 1:87]) #correlation matrix with all dv's
pca1 <- principal(cor, nfactors = 87, rotate = "varimax") 
pca1$loadings

1 Ответ

1 голос
/ 25 января 2020

Объект класса loadings, для преобразования в формат данных используйте as.data.frame.matrix

pca1 <- psych::principal(cor, nfactors = 87, rotate = "varimax")$loadings 
as.data.frame.matrix(pca1)

Используя воспроизводимый пример с mtcars

cor <- cor(mtcars)
pca1 <- psych::principal(cor, nfactors =2, rotate = "varimax")$loadings 
as.data.frame.matrix(pca1)


#         RC1     RC2
#mpg   0.6846 -0.6329
#cyl  -0.6373  0.7231
#disp -0.7328  0.6044
#hp   -0.3233  0.8828
#drat  0.8533 -0.2091
#wt   -0.7989  0.4557
#qsec -0.1591 -0.8996
#vs    0.2996 -0.8206
#am    0.9206  0.0774
#gear  0.9066  0.1661
#carb  0.0775  0.8660

A короче версия просто удалить атрибут класса

unclass(pca1) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...