x<-c(1,0.79,1,0.36,0.31,1,0.96,0.74,0.38,1,0.89,0.58,0.31,0.9,1,0.79,0.58,0.30,0.78,0.79,1,0.76,0.55,0.35,0.75,0.74,0.73,1,0.26,0.19,0.58,0.25,0.25,0.18,024,1,0.21,0.07,0.28,0.2,0.18,0.18,0.29,-0.04,1,0.26,0.16,0.33,0.22,0.23,0.23,0.25,0.49,0.34,1,0.07,0.21,0.38,0.08,0.02,0.00,0.10,0.44,-0.16,0.23,1,0.52,0.41,0.35,0.53,0.48,0.38,0.44,0.3,-0.05,0.5,0.24,1,0.77,0.47,0.41,0.79,0.79,0.69,0.67,0.32,0.23,0.31,0.1,0.62,1,0.25,0.17,0.64,0.27,0.27,0.14,0.16,0.51,0.21,0.15,0.31,0.17,0.26,1,0.51,0.35,0.58,0.57,0.51,0.26,0.38,0.51,0.15,0.29,0.28,0.41,0.5,0.63,1,0.21,0.16,0.51,0.26,0.23,0,0.12,0.38,0.18,0.14,0.31,0.18,0.24,0.5,0.65,1)
>names<c("X1","X2","X3","X4","X5","X6","X7","X8","X9","X10","X11","X12","X13","X14","X15","X16")
>R<-matrix(0,nrow=16,ncol=16,dimnames = list(names,names))
for(i in 1:16){
for (j in 1:i){
R[i,j]<-x[(i-1)*i/2+j];R[j,i]<-R[i,j]
}}
> load<-loadings(pr)
> plot(load[1:2])
> text(load[,1],load[,2],adj = c(-0.4,-0.3))
> x.pr<-princomp(covmat=R)
Error in princomp.default(covmat = R) : 协方差矩阵不是非负定矩阵
是什么原因,这个问题如何解决呢?