2015-11-25 54 views
0

我想計算一個變量,該變量檢查變量v1的元素是否也包含在另一個變量v2中。SPSS:檢查某個變量的元素是否存在於/也是另一變量的元素

假設下面的例子: 我有以下三個變量:組ID (GID),人-ID (PID)(集團內)和貸款人ID (LID)借錢的人的ID。

然後我想要創建一個新變量(loa),它指示每個人這個人是否借錢給任何其他人。換句話說,如果元素pID也出現在LID

作爲一個例子見下表:

+-----+-----+-----+   +-----+-----+-----++-----+ 
+ gID | pID | LID |   + gID | pID | LID || loa | 
+-----+-----+-----+   +-----+-----+-----++-----+ 
+ 1 | 1 | 2 |   + 1 | 1 | 2 ++ 0 | 
+ 1 | 2 | - |   + 1 | 2 | - || 1 | 
+ 1 | 3 | 4 |   + 1 | 3 | 4 || 0 | 
+ 1 | 4 | - |   + 1 | 4 | - || 1 | 
+-----+-----+-----+ => +-----+-----+-----++-----+ 
+ 2 | 1 | - |   + 2 | 1 | - || 1 | 
+ 2 | 2 | 4 |   + 2 | 2 | 4 || 0 | 
+ 2 | 3 | 4 |   + 2 | 3 | 4 || 0 | 
+ 2 | 4 | 1 |   + 2 | 4 | 1 || 1 | 

這怎麼在SPSS做?

回答

0

這裏的基本思路是創建一個數據集,它是LID中的一組發生元素(對於每個groupId),這意味着在這個數據集中,每個組ID和LID(借貸人員的ID)只存在一次。

一種方式這樣做是使用AGGREGATE命令:

* Name the original dataset, so it can be addressed later. 
DATASET NAME main. 

* Create a data set with unique combinations of groupID and LoanID. 
* Bonus: Count how many loans a person has given. 
DATASET DECLARE set. 

AGGREGATE OUTFILE=set 
/BREAK gID LID 
/count_loans = N. 

這組數據,現在可以用作查找,以確定誰借錢的人(PID)。 MATCH FILES命令完成這項工作:

* Indicate wether pID has lent money (exist as LID in the set data) or not. 
* Bonus: Add variable which counts the loans of that person. 
* Note: "main" has to be sorted by "gID pID" 
* and "set" has to be sorted by "gID LID". 
DATASET ACTIVATE main. 
MATCH FILES 
    /FILE * 
    /TABLE set 
     /RENAME (lId=pID) 
     /IN loa 
    /BY gID pID. 
EXECUTE. 
相關問題