将复制值合并到dup ID?

时间:2018-08-16 19:06:44

标签: merge spss

我想使用共享的ID变量合并两个文件。

文件1中的变量(母亲): 母亲教育ID

文件2中的变量(子): IDofMother(与文件1中的ID匹配),性别,教育程度,孩子的名字,孩子的年龄。

问题是,如果一位母亲有一个以上的孩子,则文件2中的每个孩子都会出现相同的母亲ID,但是SPSS不会重复与相同IDofmother相关联的个案值(性别,教育程度,孩子的姓名,孩子的年龄) )在文件2中-同一IDofmother的案例的第二个和后续值显示为缺失值。

有什么办法可以强制SPSS复制文件1中同一IDofmother的第二个后续值?

我尝试了合并文件->添加变量->在关键变量上匹配大小写-两个文件都提供了大小写,但没有帮助。

2 个答案:

答案 0 :(得分:1)

您的问题对我来说还不太清楚,但是我假设您想从file1 [mother]中向file2 [child]中添加列,即母亲的年龄和母亲的学历。

您可以使用MATCH FILES来做到这一点,但是您应该首先重命名变量,以确保两个文件仅在变量引用相同的东西时才共享变量名。另外,按ID排序(MATCH FILES必需)。

例如,在file1 [mother]中,您可以使用:

RENAME VARIABLES
 (ID=IDofMother)
 (Age=AgeOfMother)
 (Education=EducationOfMother) .
SORT CASES BY IDofMother .
SAVE OUTFILE='mother.sav' .

和在file2 [child]中:

RENAME VARIABLES
 (Sex=SexOfChild)
 (Education=EducationOfChild) .
SORT CASES BY IDofMother .
SAVE OUTFILE='child.sav' .

从那里:

MATCH FILES FILE='child.sav' /* file2 */
 /TABLE='mother.sav' /* file1 */
 /BY IDofMother .
EXE .

答案 1 :(得分:0)

由@ user45392提供的解决方案是正确的方法,这只是一点点的相同(只是没有将额外的文件保存到磁盘上)

get file='path\mothers data.sav'.
sort cases by ID.
dataset name mother.

get file='path\children data.sav'.
sort cases by IDofmother.
dataset name child.

MATCH FILES FILE=child /rename (sex Education=sexChl EducationChl)
 /TABLE='mother.sav' /rename (ID Age Education=IDofMother AgeMoth EducationMoth)
 /BY IDofMother .
EXE .