2016-04-24 43 views
1

更新:4/28 我找到了正確的語法來將我的centriod因子提取導入SPSS並旋轉它。由於SPSS在通過MATRIX IN(...)讀取矩陣時可以使用哪些子命令的限制,我仍然需要找到一種方法來獲取FSCORE並保存新變量(/ SAVE REG(ALL)),但那是另一篇文章。將Centroid提取的因子矩陣轉換爲SPSS進行旋轉,分析

我相信是正確的語法如下,以及適當的矩陣設置。如果我錯了,請糾正我的錯誤!

ORIGINAL POST: 我一直在爲此奮鬥在過去的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. 

資產:數據集(包括跨越36名義,commeasurable變量74個調查答覆);重心矩陣(SIX提取因素爲每個申請人)

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.. 

SOLUTION

首先,確保你的重心提取矩陣設置正確。這意味着:

將FACTOR作爲系統變量的ROWTYPE_作爲每個行/大小寫的字符串值。

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手冊(在線和離線)嘗試(和失敗)以使其正確。

感謝您提供任何幫助,並對問題的長度感到抱歉。

+1

我認爲,對於選項「... matrix = in(fac = file)...」,文件的行必須有一個前導的「類型標識符」(一個簡短的字符串)。嘗試使用一些隨機數據進行因子分析,並使用「... matrix = out(fac = file)...」(或如何正確書寫)並查看SPSS生成的文件的結構爲例。 –

+0

嗨戈特弗裏德 - 赫爾姆斯。是的,在方法1中,ROWTYPE_必須用短字符串指定。在這種情況下,我認爲它是FACTOR(儘管如此,我可能錯了,因爲幫助文檔有所不同)。然後,另一個領域是需要的 - 幫助文檔也在這裏說了各種各樣的東西,因爲我的情況沒有確切的類比。所以,增加了另一個數字變量FACTOR_。無論如何,我無法讓它工作。我沒有嘗試 – Jeremy

+0

....但我沒有嘗試matrix = out(fac ='file destination')。在沒有其他選擇的情況下,我會試一試......我仍然認爲還有另一種方法。 – Jeremy

回答

1

解旋轉

首先,確保你的重心提取矩陣設置正確。這意味着:

將FACTOR作爲系統變量的ROWTYPE_作爲每個行/大小寫的字符串值。

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. 
+0

我看到你成功了(upvote)。嘆了一口氣...... - 好吧,用SPSS三十年來沒有算我自己的「嘆息」...... –

0

「我想用這個重心因子抽取數據並創建一個新的變量到DataSet中的與各因子得分對於每個變量「。

也許你的意思是每個病例的因子分數?簡單的因子載入是不可能的。你需要案例級別的數據。想必你有這個,並想獲得相應的因子分數。我建議你看看如何計算這些數據(參見算法),並使用MATRIX過程編寫必要的代碼。沒有它,你不會走得太遠。