2

R我是典型情节的忠实粉丝。今天我要做一个biplot,但典型biplot的都是丑陋的。有没有办法让它更漂亮,画椭圆等,而不使用其他包?

如果不可能,我怎样才能把它画成经典的 R 图?

DF <- iris
PCA <- prcomp(DF[,c(1:4)], scale. = T, center = T)
biplot(PCA)

结果:

在此处输入图像描述

期望的结果(在 PAST3 中制作)

在此处输入图像描述

4

1 回答 1

4

我注意到在您的 PAST3 版本中绘制的点似乎与 R biplot 中的点不匹配。看起来 y 轴在两个版本中是翻转的。

从返回的结构prcomp具有您需要以更好的样式制作的结构。投影点在其中,PCA$x因此您可以从基础 R 绘图中获得所需的绘图

plot(PCA$x[,1:2], pch=20, col=iris$Species)

双标图

为了添加省略号,我总是dataEllipse从 car 包中使用,但这超出了您不使用其他包的要求。

更新

根据评论中的要求,我正在添加如何使用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允许您进行多种调整。只需查看帮助页面,您就可以根据自己的喜好对其进行调整。

于 2017-11-25T12:04:57.957 回答