将质心提取因子矩阵读入SPSS进行旋转,分析

时间:2016-04-24 17:17:09

标签: matrix syntax spss factor-analysis

更新:4/28 我找到了正确的语法,将我的中心因子提取导入SPSS并旋转它。由于SPSS在通过MATRIX IN(...)读取矩阵时可以使用哪些子命令的限制,我仍然需要找到一种方法来获取FSCORE并保存新变量(/ SAVE REG(ALL)),但这是另一篇文章。

我认为正确的语法如下,以及矩阵的正确设置。如果我错了,请纠正我!

原始帖子: 在过去的4天里,我一直在努力解决这个问题。我已经得出结论,我不够聪明,不能自己解决这个问题,我想这样做。

期望的结果: 我想指示SPSS读取从另一个程序计算的提取因子矩阵,然后进行因子分析。换句话说,我不需要使用PCA(或任何适合数据的方法)提取因子,而是需要使用质心提取方法(据我所知,在SPSS中不可用)。

我想使用这个质心因子提取数据,并使用每个变量的因子分数在数据集A中创建一个新变量。

所以...执行以下分析,而是使用我自己提取的因子:

 FACTOR 
   /VARIABLES VAR00001 VAR00002 VAR00003 VAR00004 VAR00005 VAR00006 VAR00007 VAR00008 VAR00009 VAR00010 VAR00011 VAR00012 VAR00013 VAR00014 VAR00015 VAR00016 VAR00017 VAR00018 VAR00019 VAR00020 VAR00021 VAR00022 VAR00023 VAR00024 VAR00025 VAR00026 VAR00027 VAR00028 VAR00029 VAR00030 VAR00031 VAR00032 VAR00033 VAR00034 VAR00035 VAR00036 VAR00037 VAR00038 VAR00039 VAR00040 VAR00041 VAR00042 VAR00043 VAR00044 VAR00045 VAR00046 VAR00047 VAR00048 VAR00049 VAR00050 VAR00051 VAR00052 VAR00053 VAR00054 VAR00055 VAR00056 VAR00057 VAR00058 VAR00059 VAR00060 VAR00061 VAR00062 VAR00063 VAR00064 VAR00065 VAR00066 VAR00067 VAR00068 VAR00069 VAR00070 VAR00071 VAR00072 VAR00073 VAR00074 
   /MISSING LISTWISE 
   /ANALYSIS VAR00001 VAR00002 VAR00003 VAR00004 VAR00005 VAR00006 VAR00007 VAR00008 VAR00009 VAR00010 VAR00011 VAR00012 VAR00013 VAR00014 VAR00015 VAR00016 VAR00017 VAR00018 VAR00019 VAR00020 VAR00021 VAR00022 VAR00023 VAR00024 VAR00025 VAR00026 VAR00027 VAR00028 VAR00029 VAR00030 VAR00031 VAR00032 VAR00033 VAR00034 VAR00035 VAR00036 VAR00037 VAR00038 VAR00039 VAR00040 VAR00041 VAR00042 VAR00043 VAR00044 VAR00045 VAR00046 VAR00047 VAR00048 VAR00049 VAR00050 VAR00051 VAR00052 VAR00053 VAR00054 VAR00055 VAR00056 VAR00057 VAR00058 VAR00059 VAR00060 VAR00061 VAR00062 VAR00063 VAR00064 VAR00065 VAR00066 VAR00067 VAR00068 VAR00069 VAR00070 VAR00071 VAR00072 VAR00073 VAR00074 
 /PRINT INITIAL CORRELATION SIG DET INV REPR AIC EXTRACTION ROTATION FSCORE 
 /FORMAT BLANK(.544) 
 /CRITERIA FACTORS(6) ITERATE(60) 
 /EXTRACTION PC 
 /CRITERIA ITERATE(100) DELTA(0) 
 /ROTATION OBLIMIN 
 /SAVE REG(ALL) 
 /METHOD=CORRELATION.

资产:数据集A(包含36个名义上可比较的变量的74个调查回复);质心矩阵(每个受访者的六个提取因子)

ID    f1      f2       f3      f4      f5       f6
1    .79778 .02151  -.07729 -.04738 .09509  -.06625
2    .65029 .02050   .29293  .04123 .24523  -.13920
3    .75398 .14790   .03987 -.09101 .16572   .24866
   etc..

首先,确保您的质心提取矩阵设置正确。这意味着:

ROWTYPE_作为系统变量,FACTOR作为每行/大小写的字符串值。

FACTOR_作为系统变量,带有标记每行/大小写的数值。

此矩阵中的每个因子都是一行/个案例。 (我把它换成了,因为那是它被提取出来的......叹息......)

FACTOR MATRIX IN (FAC='path to centroid extraction matrix.sav')
/MISSING LISTWISE
 /PRINT ROTATION 
 /FORMAT BLANK(.544) 
 /CRITERIA ITERATE(80) DELTA(0) 
  /ROTATION OBLIMIN 
  /METHOD=CORRELATION.

尝试作为我的语法不足之处的纪念物 我确定我会以某种方式弄乱这个(注意:是的!),但这是我尝试过的语法:

方法1:在数据集A打开并在语法编辑器中设置为活动数据集时,指示SPSS读取质心因子并继续分析。

FACTOR 
/MATRIX=IN (FAC= 'C:/YYYY/cent.sav')
/PRINT ALL
/ROTATION OBLIMIN 
/METHOD=CORRELATION.

方法2:手动将质心矩阵读入SPSS,然后在数据集1设置为活动状态的情况下进行因子分析。

MATRIX DATA VARIABLES=varlist
/N=74
/CONTENTS= MAT.
BEGIN DATA
.79778   .02151   -.07729   -.04738   .09509   -.06625
.65029   .02050   .29293   .04123   .24523   -.13920
.75398   .14790   .03987   -.09101  .16572  .24866
etc.
END DATA.
EXECUTE.
FACTOR
/PRINT ROTATION
/ROTATION OBLIMIN
/SAVE REG(ALL) 
/METHOD=CORRELATION. 

请原谅我语法的弱代码。我试图学习规则,并且一直在阅读SPSS手册(在线和离线)尝试(并且失败)以使其正确。

感谢您提供任何帮助,并对问题的长度感到抱歉。

2 个答案:

答案 0 :(得分:1)

旋转解决方案

首先,确保您的质心提取矩阵设置正确。这意味着:

ROWTYPE_作为系统变量,FACTOR作为每行/大小写的字符串值。

FACTOR_作为系统变量,带有标记每行/大小写的数值。

此矩阵中的每个因子都是一行/个案例。 (我把它换成了,因为那是它被提取出来的......叹息......)

FACTOR MATRIX IN (FAC='path to centroid extraction matrix.sav')
/MISSING LISTWISE
/PRINT ROTATION 
/FORMAT BLANK(.544) 
/CRITERIA ITERATE(80) DELTA(0) 
/ROTATION OBLIMIN 
/METHOD=CORRELATION.

答案 1 :(得分:0)

“我想使用这个质心因子提取数据,并使用每个变量的因子分数在数据集A中创建一个新变量。”

也许你的意思是每个案例的因子得分?仅使用因子载荷是不可能的。您需要案例级别数据。想必你有这个并想获得相应的因子分数。我建议你研究一下这些是如何计算的(参见算法)并使用MATRIX程序编写必要的代码。没有它你就不会走得太远。