【发布时间】:2017-06-08 07:22:13
【问题描述】:
我有一个关于为研究准备数据集的问题。
我在 SPSS 20 中有一个长格式数据集,因为我多年来一直在研究个人层面。然而,一些人被添加到我的数据集中两次,因为与这些人匹配的一些变量存在差异(5000 个人,每个人有 25 个变量)。我想合并这些重复项,以便我可以随着时间的推移运行我的分析。对于那些在重复项之间不同的变量,我希望 spss 在合并所有重复项时生成其他变量。
这有可能吗?如果可以,怎么做?
【问题讨论】:
我有一个关于为研究准备数据集的问题。
我在 SPSS 20 中有一个长格式数据集,因为我多年来一直在研究个人层面。然而,一些人被添加到我的数据集中两次,因为与这些人匹配的一些变量存在差异(5000 个人,每个人有 25 个变量)。我想合并这些重复项,以便我可以随着时间的推移运行我的分析。对于那些在重复项之间不同的变量,我希望 spss 在合并所有重复项时生成其他变量。
这有可能吗?如果可以,怎么做?
【问题讨论】:
我建议以下步骤>
使用过程 Data->Identify Duplicate Cases by... 创建辅助变量“PrimaryLast”,将“Define matching cases by”设置为您的案例 ID
使用数据创建 2 个新的辅助数据集->选择条件为“PrimaryLast = 0”和“PrimaryLast = 1”的案例并选择“将所选案例复制到新数据集”
将两个辅助数据集与过程数据合并 -> 合并文件-> 添加变量,在左侧框中重命名重复的变量名称并将它们移动到右侧框中并选择您的案例 ID 作为键
不要忘记控制是否进行了“完全外连接”,以防丢失非重复案例并且数据集中只有重复案例,只需合并步骤 2 中的数据集。在步骤中以不同的顺序3.
【讨论】:
试试这个:
sort cases by caseID otherVar.
compute ind=1.
if $casenum>1 and caseID=lag(caseID) ind=lag(ind)+1.
casestovars /id=caseID /index=ind.
如果caseID 重复超过一次,则重组后该情况将只有一行,而所有变量都将重复索引。
如果 caseID 的顺序重复,请将排序命令中的otherVar 替换为相应的变量(例如日期)。这样,您的新变量也会被相应地编入索引。
【讨论】: