【问题标题】:Reproducing stats::biplot with ggplot2::autoplot from ggfortify R package使用 ggfortify R 包中的 ggplot2::autoplot 复制 stats::biplot
【发布时间】:2015-02-08 15:10:22
【问题描述】:

我正在尝试使用来自ggfortify R 包的ggplot2::autoplot 重现以下stats::biplot 图。

biplot(prcomp(USArrests, scale = TRUE))

这是我的ggplot2::autoplot 代码,来自ggfortify R 包及其输出。

devtools::install_github("sinhrks/ggfortify")
 library(ggfortify)
ggplot2::autoplot(stats::prcomp(USArrests, scale=TRUE), label = TRUE, loadings.label = TRUE)

问题

  1. 为什么这两个情节不同?如何重现基图?
  2. 如何添加基本图中所示的标签?

【问题讨论】:

  • 请提供一些数据以便我们解决这个问题。
  • @lawyeR:USarrests 附带 R。
  • 对不起,我应该知道的。也许编辑您的问题,以便其他人也知道。 :)
  • 刚刚发布了我认为更准确的答案

标签: r plot ggplot2 ggfortify


【解决方案1】:

感谢您使用该软件包。该问题取决于 {dplyr} 版本,并已在 {ggfortify} 中修复。能不能更新一下包再试试?

我已将修复后的结果附加到以下链接:

https://github.com/sinhrks/ggfortify/pull/21

【讨论】:

  • 出色的工作,感谢修复错误。为什么两张图的比例不同?任何想法。
【解决方案2】:

要在ggplot2 中重新创建此图,您只需从prcomp 对象中提取所需的数据。在这种情况下,您正在绘制原始数据以及可变旋转载荷,因此您需要两个数据框。

试试这个:

x <- prcomp(USArrests, scale = TRUE)
z1 <- data.frame(State = rownames(x$x), x$x[, 1:2])
z2 <- data.frame(State = rownames(x$rotation), x$rotation[, 1:2])

library(ggplot2)
ggplot(z1, aes(PC1, PC2, label=State)) + 
  geom_text(size=3) +
  geom_segment(data=z2, aes(PC1, PC2, xend=0, yend=0), col="red") +
  geom_text(data=z2, aes(PC1, PC2, label=State), col="red") +
  theme_bw()

【讨论】:

  • (+1):感谢@Andrie 的回答。 sinhrks 已修复 ggfortify 中的错误。但是两张图的比例仍然不同。任何想法。
【解决方案3】:

Autoplot 模拟使用 biplot.prcomp 选项 pc.biplot = TRUE 获得的行为/缩放:

devtools::install_github("sinhrks/ggfortify")
 library(ggfortify)
ggplot2::autoplot(stats::prcomp(USArrests, scale=TRUE), label = TRUE, loadings.label = TRUE)

biplot(prcomp(USArrests, scale = TRUE), pc.biplot = TRUE)

然后它产生 Gabriel (1971) 的“主成分双图”,其中观察值按 sqrt(n) 放大,变量按 sqrt(n) 缩小。然后变量之间的内积近似于协方差,而观测值之间的距离近似于马氏距离。通常这就是您想要的,另请参阅详细说明here

ggord btw 和ggbiplot 一样,也是一个不错的制作双标图的软件包。

PS:上面标记为正确的答案并不是我认为的正确答案。

【讨论】:

    猜你喜欢
    • 2017-04-24
    • 1970-01-01
    • 2020-12-26
    • 1970-01-01
    • 1970-01-01
    • 2017-06-18
    • 1970-01-01
    • 2021-12-10
    • 2022-12-25
    相关资源
    最近更新 更多