Как я могу изменить ось в побочном сюжете

Когда я строю PCA, а затем соответствующий побочный график, оси не всегда находятся в одном направлении, как на этих рисунках:

plot(pc...)двойной сюжет(принкомп...

Это функции, которые я использовал:

(pc <- prcomp(dat5, center=T, retx=T, scale=T)); summary(pc)
plot(pc$x[,1:2], pch=""); text(pc$x[,1:2], cex=.5, labels=(row.names(dat5)), col=as.numeric(dat$ObCl))     
biplot(princomp(dat5, cor=T), cex=.5)

Как я могу изменить направление оси одного из них, чтобы сделать их одинаковыми?


person Nicole Origami Fox    schedule 21.11.2018    source источник
comment
Второй сюжет довольно ясен, но как вы создали первый. Что такое pc?   -  person G5W    schedule 21.11.2018
comment
скорее всего результат prcomp. Кстати, всегда помогает воспроизводимый пример   -  person Vincent Bonhomme    schedule 21.11.2018
comment
Точно :) Извините за краткость. Это код prcomp:   -  person Nicole Origami Fox    schedule 22.11.2018
comment
(pc ‹- prcomp(dat5, center=T, retx=T, scale=T)); резюме (ПК)   -  person Nicole Origami Fox    schedule 22.11.2018
comment
Спасибо за редактирование, MrFlick!   -  person Nicole Origami Fox    schedule 22.11.2018


Ответы (1)


Знак ПК произвольный, вы можете изменить его/их, умножив один или несколько ПК на -1. Обратите внимание, что это означает только представление, в зависимости от того, что вы делаете, например, если вы используете $rotation, вам также может потребоваться изменить соответствующие столбцы. Далее следует пример с iris. Надеюсь это поможет.

p <- prcomp(iris[, -5])
plot(p$x[, 1:2], asp=1, xlab="PC1", ylab="PC2")

введите здесь описание изображения

plot(cbind(p$x[, 1], p$x[, 2]*-1), asp=1, xlab="PC1", ylab="PC2")

введите здесь описание изображения

person Vincent Bonhomme    schedule 21.11.2018
comment
plot(cbind(pc$x[,1], pc$x[,2]*-1), asp=1, xlab=PC1, ylab=PC2); - person Nicole Origami Fox; 22.11.2018
comment
текст(cbind(pc$x[,1], pc$x[,2]*-1), asp=1, xlab=PC1, ylab=PC2, cex=.5, labels=(row.names(dat5) ), col=as.numeric(dat$ObCl)) - person Nicole Origami Fox; 22.11.2018
comment
# Я просто не избавляюсь от символов с помощью pch=, так как вместо этого хочу использовать текст... - person Nicole Origami Fox; 22.11.2018
comment
plot(cbind(p$x[, 1], p$x[, 2]*-1), asp=1, xlab=PC1, ylab=PC2, pch=NA); текст(cbind(p$x[, 1], p$x[, 2]*-1), labels=1:150). Просто замените 1:150 на свои этикетки, и вы также можете использовать цвета. - person Vincent Bonhomme; 27.11.2018
comment
Ааа, pch=NA :) Еще раз спасибо :) - person Nicole Origami Fox; 30.11.2018