Как сделать симпатичный биплот в R без использования внешних пакетов?
Я большой поклонник типичного R
участки. Сегодня я должен сделать biplot
, но типичный biplot
уродливы Есть способ сделать его красивее, нарисовать эллипсы и т. Д., Не используя другие пакеты?
Если это невозможно, как я могу нарисовать его в виде классических R-сюжетов?
DF <- iris
PCA <- prcomp(DF[,c(1:4)], scale. = T, center = T)
biplot(PCA)
Результат:
Желаемый результат (сделано в PAST3)
1 ответ
Я заметил, что точки, изображенные в вашей версии PAST3, не совпадают с точками в биплоте R. Похоже, что ось Y перевернута в двух версиях.
Структура вернулась из prcomp
есть то, что вам нужно, чтобы сделать один в лучшем стиле. Прогнозируемые точки находятся в PCA$x
так что вы можете получить желаемый график из базы R с помощью
plot(PCA$x[,1:2], pch=20, col=iris$Species)
Для добавления эллипсов я всегда использую dataEllipse
из пакета автомобиля, но это выходит за рамки вашего запроса не использовать другие пакеты.
ОБНОВИТЬ
В соответствии с просьбой в комментарии я добавляю, как добавлять эллипсы, используя car
пакет.
library(car)
plot(PCA$x[,1:2], pch=20, col=iris$Species)
dataEllipse(PCA$x[,1], PCA$x[,2], iris$Species, lwd=1,
group.labels = NULL, plot.points=FALSE, add=TRUE,
fill=TRUE, fill.alpha=0.02)
Я выбрал что-то, что я думал, выглядело хорошо, но dataEllipse
позволяет вносить множество изменений. Просто посмотрите на страницу справки, чтобы вы могли настроить ее на свой вкус.