如何解决使用语法在SPSS数据集之间复制变量
根据反馈进行了编辑...
是否有一种方法可以将变量从一个打开的数据集复制到SPSS中的另一个数据集?我尝试过的是创建一个捕获变量值的临时变量,然后在Compute命令中将该临时变量用于下一个数据集:
DATASET ACTIVATE DataSet1.
COMPUTE #IDSratch = ID.
Dataset Activate DataSet2.
Compute ID = #IDScratch.
此操作失败,因为激活Dataset2会导致临时变量从内存中删除。
匹配文件和/或STAR JOIN语法在大多数情况下都适用,但在我的情况下,因为Dataset1的记录多于Dataset2,并且两个数据集中都没有匹配键,所以会产生额外的记录。
我最初的问题是“是否有一种简单,直接的方法在数据集之间复制变量?”并且答案似乎仍然是,如果使用语法,则通过语法合并文件是最好/唯一的方法。
解决方法
自SPSS 21.0版以来,STAR JOIN
命令(see documentation here)允许您使用SQL语法来联接数据集。因此,基本上,您只能从每个数据集中获取所需的变量。
假设您的第一个数据集称为data_1,并且具有id
和var_1a
。您的第二个数据称为data_2,具有相同的id
和var_2a
;并且您只想将var_2a
拉到第一个数据集。如果两个数据集都打开,则可以运行:
dataset activate data_1.
STAR JOIN
/SELECT t0.var_1a,t1.var_2a
/FROM * AS t0
/JOIN 'data_2' AS t1
ON t0.id=t1.id
/OUTFILE FILE=*.
我上面提供的链接提供了许多示例,说明如何将计算机中保存的文件的变量联接起来。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。