热心网友
回答时间:2023-09-20 19:02
需要设置的参数是R,因子个数m,后面会讲到m如何选取)
下面给出主成分法的R程序(factor.analy1.R)
factor.analy1<-function(S, m){
p<-nrow(S); diag_S<-diag(S); sum_rank<-sum(diag_S)
rowname<-paste("X", 1:p, sep="")
colname<-paste("Factor", 1:m, sep="")
A<-matrix(0, nrow=p, ncol=m,
dimnames=list(rowname, colname))
eig<-eigen(S)
for (i in 1:m)
A[,i]<-sqrt(eig$values[i])*eig$vectors[,i]
h<-diag(A%*%t(A))
rowname<-c("SS loadings", "Proportion Var", "Cumulative Var")
B<-matrix(0, nrow=3, ncol=m,
dimnames=list(rowname, colname))
for (i in 1:m){
B[1,i]<-sum(A[,i]^2)
B[2,i]<-B[1,i]/sum_rank
B[3,i]<-sum(B[1,1:i])/sum_rank
}
method<-c("Principal Component Method")
list(method=method, loadings=A,
var=cbind(common=h, spcific=diag_S-h), B=B)
}
函数输入值S是样本方差阵或相关矩阵,m是主因子的个数,函数的输出值是列表形式,其内容有估计参数的办法(主成分法),因子载荷(loadings),共性方差和特殊方差,以及因子F对变量X的贡献、贡献率和累积贡献率。
#调用因子分析主成分法的函数
source("factor.analy1.R")
#显示结果.估计参数的方法为主成分法,loadings-因子载荷,var-共性方差和特殊方差
收起
热心网友
回答时间:2023-09-20 19:02
一个女生,百分之九十不会主动找男生聊天,剩下的百分之十肯定是有事不得已。她不理你,可能因为你两个星期没找她聊天,没告诉她原因,她有些生气,毕竟一个天天找她聊天的人突然消失了,就算不喜欢,那也会不高兴的。还有就是可能在忙手头上的事情,或者当时不想聊天,所以就直接没理你。你最好跟她解释一下你这俩星期干嘛去了,然后她应该就会理你我作为一个女生,百分之九十不会主动找男生聊天,剩下的百分之十肯定是有事不得已。她不理你,可能因为你两个星期没找她聊天,没告诉她原因,她有些生气,毕竟一个天天找她聊天的人突然消失了,就算不喜欢,那也会不高兴的。还有就是可能在忙手头上的事情,或者当时不想聊天,所以就直接没理你。你最好跟她解释一下你这俩星期干嘛去了,然后她应该就会理你了。
收起
热心网友
回答时间:2023-09-20 19:03
因子旋转载荷。。你是不是这么算的,
数据标准化
算相关系数矩阵R
求R的特征值和贡献率,看你这就是前四个特征值的贡献率估计就占了90%左右
算出你的因子载荷阵
将载荷阵实行方差最大正交转换,得到你上面那个表。
那么关键是看每个对应最大的那几个指标,小的说明不在这个因子里面起作用,0就是完全不起作用
你的目标是将所有这些指标,从废金属到集成电路,分成4类,两两没有交集,然后给4个因子起上对应的名字,说明指标的类型。
factor1对应未锻造的钢材,集成电路--- 。。。
factor2对应废金属,二甲苯,废塑料-----这个叫 废料指标?
factor3对应初级塑料,液晶显示板,钢材 ---这个叫 原料指标?
factor4对应铁矿砂,未锻压镍 --- 这个叫铁指标?。。
我完全不懂你们专业,所以分组会很业余,我是根据最大载荷在哪个因子就分给谁,但实际情况要按照你的专业知识进行分配。
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。
收起