R语言 用于将向量提升到二次幂的x^2运算符不起作用[关闭]

5anewei6  于 2023-04-18  发布在  其他
关注(0)|答案(2)|浏览(157)

**已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。

这个问题是由一个错字或一个无法再复制的问题引起的。虽然类似的问题可能是on-topic在这里,但这个问题的解决方式不太可能帮助未来的读者。
5天前关闭。
Improve this question
我尝试使用以下代码绘制数据PCA的scree:

library(ade4)
data("olympic")
pca.olympic <- princomp(olympic$tab)
plot(1:10, pca.olympic$sdevˆ2, type="b", xlab="# PCs", ylab="Variance of PC",
     main="PCA of Covariance Matrix")

当我运行这段代码时,我得到了以下输出:

我应该看到这样的东西:

有人能解释一下如何解决这个问题吗?

y4ekin9u

y4ekin9u1#

您的电源符号ˆ不正确。我不知道您是如何键入的,但请复制并使用此符号:^代替。请注意,它在视觉上是不同的-不同的符号。
当你使用你在代码中的那个时,R会默默地返回NULL

pca.olympic$sdevˆ2
NULL

这是因为您键入的ˆ被视为另一个字符,而不是运算符,就像š一样。因此,表达式pca.olympic$sdevˆ2不是将名为sdev的元素提升到2的幂,而是查找名为sdevˆ2的变量。由于这样的变量不存在-它返回NULL。
现在,当y为空时,只有在两个轴上绘制x1:10)变量时才会生成图。

2hh7jdfx

2hh7jdfx2#

^算子替换为**算子,以将特征值提高到2的幂:

library(ade4)

data("olympic")
pca.olympic <- princomp(olympic$tab)
plot(1:10, pca.olympic$sdev ** 2, type="b", xlab="# PCs", ylab="Variance of PC",
     main="PCA of Covariance Matrix")

相关问题