SPSS:检查/中是否存在某个变量的元素是否也是另一个变量

时间:2015-11-25 16:34:22

标签: spss

我想计算一个变量来检查变量v1的元素是否也包含在另一个变量v2中。

我们假设以下示例: 我有以下三个变量:group-ID (gID),person-ID (pID)(在组内)和lender-ID (LID ),借钱人的身份证。

然后,我想创建一个新的变量(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中完成?

1 个答案:

答案 0 :(得分:0)

这里的基本思想是创建一个数据集,它是LID中的一组发生元素(对于每个groupId),这意味着在这个数据集中,groupiDs和LIDs(借钱人员的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.