楼主: panxinfeng
9370 18

[问答] 求助:R因子分析结果与SAS和SPSS差异明显 [推广有奖]

  • 0关注
  • 1粉丝

已卖:128份资源

博士生

12%

还不是VIP/贵宾

-

威望
0
论坛币
42 个
通用积分
8.1398
学术水平
6 点
热心指数
11 点
信用等级
7 点
经验
2436 点
帖子
181
精华
0
在线时间
156 小时
注册时间
2008-8-14
最后登录
2024-2-13

楼主
panxinfeng 发表于 2014-7-3 11:24:56 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
应用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结果差异较大,请问是我哪里算错了吗?
二维码

扫码加我 拉你入群

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

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

关键词:因子分析 SPSS PSS R因子 Anal

沙发
glhydxz123 发表于 2014-7-3 12:39:30
求解的机制不同,建议用car包的anova函数,结果应该一致

藤椅
求证1加1 发表于 2014-7-3 18:03:21
用的方法不一样而已 factanal函数用的是极大似然法 你在SAS和SPSS里也用极大似然法算结果应该就一样了

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

报纸
panxinfeng 发表于 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

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

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

7
panxinfeng 发表于 2014-7-3 20:59:22
用薛毅老师在《统计建模与R软件》教材中自编的因子分析函数,计算结果如下:
S <- cor(m1)

factor.analy(S,m=3,method="likelihood")
Cumulative Var 0.6027077 0.7722604 0.9243918

factor.analy(S,m=3,method="princomp")    # 与SPSS和SAS结果一致
Cumulative Var 0.6160051 0.7948575 0.9616532

factor.analy(S,m=3,method="factor")
Cumulative Var 0.6037037 0.7733562 0.9236420


factanal(m1,factors=3)
Cumulative Var   0.316   0.630   0.929

factanal(factors=3,covmat=S)
Cumulative Var   0.316   0.630   0.929

8
glhydxz123 发表于 2014-7-3 22:36:42
panxinfeng 发表于 2014-7-3 19:47
请教一下,anova不是stats包的吗?

请问用anova函数如何进行因子分析?谢谢!
和另一个问题搞混了,可以尝试用(psych)包的fa函数

9
panxinfeng 发表于 2014-7-4 14:57:36
glhydxz123 发表于 2014-7-3 22:36
和另一个问题搞混了,可以尝试用(psych)包的fa函数
多谢指教!

试过了,fa函数结果与factanal()结果接近,与SPSS、SAS和薛毅老师自编函数差异还是比较大:
m1cor <- cor(m1)
fa(m1cor,nfactors=3)
                       MR1  MR2  MR3
SS loadings           2.71 1.97 1.82
Proportion Var        0.39 0.28 0.26
Cumulative Var        0.39 0.67 0.93
Proportion Explained  0.42 0.30 0.28
Cumulative Proportion 0.42 0.72 1.00

10
yunmenghuang 发表于 2014-7-24 11:26:30
楼主,用R做分析时你是调用什么包?还是R中自带的。我用factanal函数总是出现如下问题,能否帮忙解答,不胜感激
F=factanal(X,3,rot="none")
Error in factanal(X, factors = 3) :
  unable to optimize from this starting value

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-20 22:38