首页 > 解决方案 > 尽管没有返回错误,为什么我的 princomp 情节为空?

问题描述

Princomp 已用于汇总大型数据集,摘要、screeplot 和加载都是功能性的,并且所有代码都是从早期的 pca 中重复的。绘图的代码也非常相似,当它运行时,没有返回错误,但绘图完全是空的。

这最初发生在原始代码中,但问题似乎通过再次运行 princomp 和 summary 解决了,这次这个解决方案没有奏效。

Plot_chars.abio.pca <-princomp(Plot_chars_standardised[,4:12]) 
summary(Plot_chars.abio.pca)

Plot_chars.abio.pca$loadings

screeplot(Plot_chars.abio.pca, type="lines")


Plot_chars.abio.pca.var <- Plot_chars.all.pca$sdev^2
Plot_chars.abio.pca.var[1:5]

plot(Plot_chars.abio.pca$x[,1], Plot_chars.abio.pca$x[,2],
bty = "n",
pch = Plot_chars$DomSpec -20,
cex =0.5,
col= Plot_chars$DomSpec -10, 
xlim = c(-2,6),
ylim = c(-2,6),
xlab = "PCA1",
ylab = "PCA2")

我期待绘制 PC1 和 PC2 点,但没有出现

标签: rplotpca

解决方案


来自的结果princomp不包含名为 的列x。对于分数图使用Plot_chars.abio.pca$scores[, 1]PC1 和Plot_chars.abio.pca$scores[, 2]. 对于载荷图Plot_chars.abio.pca$loadings[, 1],用于 PC1Plot_chars.abio.pca$loadings[, 2]中的载荷和 PC2 中的载荷。

你的例子:

plot(Plot_chars.abio.pca$scores[,1], Plot_chars.abio.pca$scores[,2],
bty = "n",
pch = Plot_chars$DomSpec -20,
cex =0.5,
col= Plot_chars$DomSpec -10, 
xlim = c(-2,6),
ylim = c(-2,6),
xlab = "PCA1",
ylab = "PCA2")

推荐阅读