如何用ggplot绘制PCR结果的双标图?含mtcars示例
用ggplot绘制PCR双标图(带响应变量气泡与变量向量)
问题解决思路
你提到的ggplot_pca()并非ggplot2或主流可视化包的内置函数,所以会出现未识别的错误。正确的做法是先用prcomp()完成PCA分析,再借助ggfortify包的autoplot()函数对接ggplot2,实现带气泡大小和变量向量的双标图。
完整代码示例(基于mtcars数据集)
# 加载所需包 library(ggplot2) library(ggfortify) # 提取PCA输入变量(cyl、hp、wt、qsec),mpg作为响应变量 pca_vars <- mtcars[, c("cyl", "hp", "wt", "qsec")] # 执行PCA分析(标准化数据,避免变量尺度影响) pca_out <- prcomp(pca_vars, scale. = TRUE) # 绘制双标图 autoplot(pca_out, data = mtcars, colour = "darkblue", # 气泡基础颜色 size = mtcars$mpg, # 气泡大小绑定响应变量mpg loadings = TRUE, # 显示变量向量 loadings.colour = "darkred", # 向量颜色 loadings.label = TRUE, # 显示变量名称标签 loadings.label.size = 4, # 标签字号 xlab = "主成分1 (PC1)", ylab = "主成分2 (PC2)") + theme_bw() + labs(size = "mpg(响应变量)") + # 图例标题 theme(legend.position = "bottom")
关键参数说明
prcomp(scale. = TRUE):PCA对变量尺度敏感,必须标准化输入变量,保证分析结果可靠size = mtcars$mpg:直接将响应变量mpg的数值映射为气泡大小,直观展示响应变量在PCA空间的分布loadings = TRUE系列参数:开启变量向量的显示,通过向量方向和长度,能直观观察cyl、hp、wt、qsec这几个输入变量与PCA轴的相关性,进而关联到响应变量mpg的分布规律
内容的提问来源于stack exchange,提问作者Joshua Smith
相关产品推荐
相关产品推荐

