为什么即使没有返回错误,我的princomp图仍为空?

时间:2019-02-13 10:30:18

标签: r plot pca

Princomp已用于汇总大型数据集,汇总,摘要和加载均起作用,并且已从早期的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点,但是什么也没出现

1 个答案:

答案 0 :(得分:0)

princomp的结果不包含名为x的列。对于得分图,对PC1使用Plot_chars.abio.pca$scores[, 1],对{1}​​使用Plot_chars.abio.pca$scores[, 2]。对于载荷图,将Plot_chars.abio.pca$loadings[, 1]用于PC1中的载荷,将Plot_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")