1

princomp特别是biplot,当我想使用不是由princomp自身生成的协方差或相关矩阵时,我遇到了问题。为简单起见,我将使用比我正在处理的数据集小得多的数据集。

cr <- cov.wt(USArrests)
biplot(princomp(data = USArrests, covmat = cr))

给我错误

Error in biplot.princomp(princomp(data = USArrests, covmat = cr)) : 
  object 'princomp(data = USArrests, covmat = cr)' has no scores

似乎在这里发生了一些简单的事情,但到目前为止,谷歌一直没有帮助。

4

1 回答 1

4

in的data参数princomp只能由“类‘公式’的 S3 方法”使用。因此,您需要princomp通过以下两种方式之一指定您的调用:

cr <- cov.wt(USArrests)
pr1 <- princomp(x = USArrests, covmat = cr)
pr2 <- princomp(formula = ~ ., data = USArrests, covmat = cr)

biplot(pr1)
biplot(pr2)
于 2013-09-12T00:38:56.613 回答