Почему мой график PCA дает мне сообщение об ошибке в R? - PullRequest
0 голосов
/ 26 марта 2020

почему этот код выдает ошибку "неправильное измерение"?

incorrect dimension

1 Ответ

2 голосов
/ 26 марта 2020

Как упоминает @ r2evans, объект, скорее всего, относится к специально определенному классу "prcomp".

class(pca)
[1] "prcomp"

Вы можете видеть, что pca также является списком, и вы можете просматривать имена элементы списка с names().

is.list(pca)
[1] TRUE

names(pca)
[1] "sdev"     "rotation" "center"   "scale"    "x"   

Вы можете получить доступ к содержимому этих элементов с помощью оператора $.

pca$x
                            PC1        PC2         PC3         PC4         PC5         PC6         PC7          PC8
Mazda RX4           -0.66422351  1.1734476 -0.20431724 -0.12601751  0.75200784 -0.12506777 -0.42357334 -0.003259165
Mazda RX4 Wag       -0.63719807  0.9769448  0.11077779 -0.08567709  0.65668822 -0.06619437 -0.44849307  0.056643244
Datsun 710          -2.29973601 -0.3265893 -0.21014955 -0.10862524 -0.07622329 -0.56693648  0.38612406 -0.202035744
Hornet 4 Drive      -0.21529670 -1.9768101 -0.32946822 -0.30806225 -0.24391787  0.08382435  0.03299362 -0.023714111
Hornet Sportabout    1.58697405 -0.8287285 -1.03299254  0.14738418 -0.22270405  0.18280435 -0.05793795  0.152342587
Valiant              0.04960512 -2.4466838  0.11177774 -0.87154914 -0.12574876 -0.23043022  0.22451528  0.098663134
Duster 360           2.71439677  0.3610529 -0.65206041  0.09633337  0.29674234  0.27763557  0.44227307 -0.306373481

Тогда подмножество, которое вы попробовали, будет работать.

pca$x[,1:2]
                            PC1        PC2
Mazda RX4           -0.66422351  1.1734476
Mazda RX4 Wag       -0.63719807  0.9769448
Datsun 710          -2.29973601 -0.3265893
Hornet 4 Drive      -0.21529670 -1.9768101
Hornet Sportabout    1.58697405 -0.8287285
Valiant              0.04960512 -2.4466838
Duster 360           2.71439677  0.3610529

Понимание этого очень поможет вам в вашем будущем программировании на R.

Данные

pca <- prcomp(mtcars[,c(1:7,10,11)], center = TRUE,scale. = TRUE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...