全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
9171 18
2014-07-03
应用R的factanal()的一个例子:
v1 <- c(1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,4,5,6)
v2 <- c(1,2,1,1,1,1,2,1,2,1,3,4,3,3,3,4,6,5)
v3 <- c(3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,5,4,6)
v4 <- c(3,3,4,3,3,1,1,2,1,1,1,1,2,1,1,5,6,4)
v5 <- c(1,1,1,1,1,3,3,3,3,3,1,1,1,1,1,6,4,5)
v6 <- c(1,1,1,2,1,3,3,3,4,3,1,1,1,2,1,6,5,4)
m1 <- cbind(v1,v2,v3,v4,v5,v6)

factanal(m1, factors = 3) # varimax is the default
结果如下:
Call:
factanal(x = m1, factors = 3)

Uniquenesses:
   v1    v2    v3    v4    v5    v6
0.005 0.101 0.005 0.224 0.084 0.005

Loadings:
   Factor1 Factor2 Factor3
v1 0.944   0.182   0.267  
v2 0.905   0.235   0.159  
v3 0.236   0.210   0.946  
v4 0.180   0.242   0.828  
v5 0.242   0.881   0.286  
v6 0.193   0.959   0.196  

               Factor1 Factor2 Factor3
SS loadings      1.893   1.886   1.797
Proportion Var   0.316   0.314   0.300
Cumulative Var   0.316   0.630   0.929

The degrees of freedom for the model is 0 and the fit was 0.4755

我关注的是因子累计贡献:
Cumulative Var   0.316   0.630   0.929

而用spss最大似然法(为了与R的factanal()函数算法对应)算出来的结果是:
总方差解释                        
因子        初始特征值               
        总计        方差百分比        累积 %
1        3.696        61.601        61.601
2        1.073        17.885        79.486
3        1.001        16.680        96.165
4        .161        2.683        98.849
5        .041        .683        99.531
6        .028        .469        100.000
提取方法:最大似然法。                        

用sas算出来的结果是:
[td]
相关矩阵的特征值: 总计 = 6 平均值 = 1
    特征值    差值    比例    累积
1    3.69603077    2.62291629    0.6160    0.6160
2    1.07311448    0.07234039    0.1789    0.7949
3    1.00077409    0.83977061    0.1668    0.9617
4    0.16100348    0.12004232    0.0268    0.9885
5    0.04096116    0.01284515    0.0068    0.9953
6    0.02811601     0.0047    1.0000


可以看出,SPSS和SAS结果是相同的,而与R结果差异较大,请问是我哪里算错了吗?
二维码

扫码加我 拉你入群

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

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

全部回复
2014-7-3 12:39:30
求解的机制不同,建议用car包的anova函数,结果应该一致
二维码

扫码加我 拉你入群

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

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

2014-7-3 18:03:21
用的方法不一样而已 factanal函数用的是极大似然法 你在SAS和SPSS里也用极大似然法算结果应该就一样了
二维码

扫码加我 拉你入群

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

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

2014-7-3 19:16:57
求证1加1 发表于 2014-7-3 18:03
用的方法不一样而已 factanal函数用的是极大似然法 你在SAS和SPSS里也用极大似然法算结果应该就一样了
但是我在spss中用的也是极大似然法啊?
二维码

扫码加我 拉你入群

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

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

2014-7-3 19:43:01
SAS用最大似然法求得的结果:

FACTOR 过程
初始因子方法: 最大似然

初始特征值: 总计 = 62.3929939 平均值 = 10.3988323
  特征值 差值 比例 累积
1     42.7680917      29.1495620      0.6855      0.6855
2      13.6185297      6.8896170      0.2183      0.9037
3      6.7289127      6.2351142      0.1078      1.0116
4      0.4937985      1.0889020      0.0079      1.0195
5      -0.5951036      0.0261315      -0.0095      1.0100
6      -0.6212351        -0.0100      1.0000
二维码

扫码加我 拉你入群

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

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

2014-7-3 19:47:48
glhydxz123 发表于 2014-7-3 12:39
求解的机制不同,建议用car包的anova函数,结果应该一致
请教一下,anova不是stats包的吗?

请问用anova函数如何进行因子分析?谢谢!
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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