我想计算一个变量来检查变量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中完成?
答案 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.