全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
5185 3
2019-01-23
求助

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) : 协方差矩阵不是非负定矩阵
是什么原因,这个问题如何解决呢?



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-1-24 11:32:50
因为方差不能是负数啊,你的协方差矩阵要是半正定的才可以
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-7-14 16:57:30
你解决了吗,求问R里如何限定方差协方差矩阵是非负定的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-7-14 21:53:11
光锥之外 发表于 2020-7-14 16:57
你解决了吗,求问R里如何限定方差协方差矩阵是非负定的
利用原始数据计算协方差阵,一定就是非负定矩阵。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群