Как я могу повернуть ось в биплоте
Когда я строю PCA, а затем соответствующий биплот, оси не всегда находятся в одном и том же направлении, как на этих рисунках:
Эти функции я использовал:
(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)
Как я могу изменить направление оси одного из них, чтобы сделать их одинаковыми?
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")