将Centroid提取的因子矩阵读入SPSS进行旋转、分析

Reading Centroid extracted factor matrix into SPSS for rotation, analysis

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

下面是我认为正确的语法,以及矩阵的正确设置。如有错误请指正!

原版POST: 在过去的 4 天里,我一直在为此苦苦挣扎。我得出的结论是我不够聪明,无法独自解决这个问题,我想做对。

期望的结果: 我想指示 SPSS 读取从另一个程序计算的提取因子矩阵,然后进行因子分析。换句话说,不是让 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(包含 74 个调查答复,涉及 36 个名义上的可衡量变量);质心矩阵(每个受访者提取六个因素)

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 作为每个 row/case 的字符串值。

FACTOR_ 作为系统变量,带有标记每个 row/case 的数值。

此矩阵中的每个因素都是一个 row/case。 (我已经调换了我的位置,因为它就是这样提取的......唉......)

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 手册(在线和离线),试图(但失败)以使其正确。

感谢您提供的任何帮助,对于问题的长度,我们深表歉意。

旋转解决方案

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

ROWTYPE_ 作为系统变量,FACTOR 作为每个 row/case.

的字符串值

FACTOR_ 作为系统变量,带有标记每个 row/case.

的数值

这个矩阵中的每个因素都是一个 row/case。 (我已经调换了我的位置,因为它就是这样提取的……唉……)

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.

"I would like to use this centroid factor extraction data and create a new variable into Dataset A with the factor scores for each variable."

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