Merge 是否将复制值合并到dup ID?
我想使用共享ID变量合并两个文件 文件1中的变量(母亲): 我喜欢其他年龄的教育 文件2中的变量(子项): IDofMother(匹配文件1中的ID)、性别、教育程度、孩子的姓名、孩子的年龄 问题是,如果一位母亲有多个孩子,那么在文件2中每个孩子都会显示相同的母亲ID,但SPSS不会重复文件2中与相同IDOFMOTOR(性别、教育程度、孩子的姓名、孩子的年龄)相关的案例值-相同IDOFMOTOR的案例的第二个和后续值会显示为缺失值 我是否可以强制SPSS复制文件1中相同IDofmother的第二个后续值Merge 是否将复制值合并到dup ID?,merge,spss,Merge,Spss,我想使用共享ID变量合并两个文件 文件1中的变量(母亲): 我喜欢其他年龄的教育 文件2中的变量(子项): IDofMother(匹配文件1中的ID)、性别、教育程度、孩子的姓名、孩子的年龄 问题是,如果一位母亲有多个孩子,那么在文件2中每个孩子都会显示相同的母亲ID,但SPSS不会重复文件2中与相同IDOFMOTOR(性别、教育程度、孩子的姓名、孩子的年龄)相关的案例值-相同IDOFMOTOR的案例的第二个和后续值会显示为缺失值 我是否可以强制SPSS复制文件1中相同IDofmother的第二
我尝试了合并文件->添加变量->匹配关键变量的案例-两个文件都提供案例,但都没有帮助 从您的问题来看,我有点不清楚,但我假设您想从file1[mother]向file2[child]添加列,即母亲的年龄和母亲的教育程度 您可以使用
MATCH FILES
来执行此操作,但是您应该首先重命名变量,以确保当变量引用同一事物时,这两个文件仅共享变量名。另外,按ID排序(匹配文件所需的)
例如,在file1[mother]中,您可以使用:
RENAME VARIABLES
(ID=IDofMother)
(Age=AgeOfMother)
(Education=EducationOfMother) .
SORT CASES BY IDofMother .
SAVE OUTFILE='mother.sav' .
在文件2中[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 .
@user45392提供的解决方案是正确的选择,同样的,只是稍微缩短了一点(并且没有将额外的文件保存到磁盘)
您好,谢谢您的即时回复,但我可能不太清楚。我已经做了@user45392所描述的事情。变量名称或通过某个ID排序没有问题。问题是SPSS不会复制合并文件中每个孩子的母亲年龄和教育程度-第二个和后续的显示为缺失值。然后忘记所有重命名-只需确保两个文件都按“IDOFMTHER”排序然后运行:MATCH FILES/FILE=child/TABLE='mother.sav'/BY IDofMother。
感谢您的帮助,但是,没有发生任何新情况。在这里,我更清楚地描述了这个问题。问题是,如果一位母亲有多个孩子,那么在文件2中每个孩子都会显示相同的母亲ID,但SPSS不会复制与相同ID相关的案例值(性别、教育程度、孩子的姓名、孩子的年龄)在文件2中-同一IDofmother的第二个和后续案例值显示为缺失值。匹配文件
的工作原理与您描述的完全相同。可能还有其他因素在起作用-如果你能发布(作为对原始问题的编辑)你的数据样本和你使用的语法,也许我们可以找出问题所在。你好,我编辑了原始帖子。我使用的语法与建议的语法非常相似。
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 .