如何基于airquality内置数据集绘制仅含前2个主成分的Scree Plot
调整方案
你只需要对绘图输入的两个向量都截取前2位即可,修改后可直接运行的代码如下:
cum_cov <- cumsum(PC_cov) cum_cov # 输出结果:[1] 0.4119637 0.6034876 0.7613283 0.8912956 0.9622555 1.0000000 # 仅展示前2个主成分的协方差矩阵碎石图 cov_matrplot <- qplot(c(1:2), cum_cov[1:2]) + geom_line() + xlab("主成分") + ylab("累积解释方差") + ggtitle("Scree Plot(碎石图)") + ylim(0,1) cov_matrplot
改动说明
- 原代码x轴取的是全部6个主成分的序号
c(1:6),调整为c(1:2)仅保留前2个主成分的横坐标 - 原代码传入的是全部6个主成分的累积解释方差
cum_cov,调整为cum_cov[1:2]仅取前两个值匹配横坐标
如果你需要同时展示单个主成分的方差贡献柱形(标准碎石图的样式),可以在qplot中增加geom参数指定同时绘制线和柱即可。
内容的提问来源于stack exchange,提问作者user15866126
相关产品推荐
相关产品推荐

