spss - 比较组内各行之间的值
问题描述
我希望创建一个列来表示调查对象是否已将位置从第 6 波更改为第 7 波。我不关心以前的波(尽管它们在数据中)。所以我想要的逻辑是:如果来自第 6 波的电子邮件=来自第 7 波的电子邮件和来自第 6 波的位置 <> 来自第 7 波的位置然后是 1。所以我只关心出现在第 6 波和第 7 波中的受访者。
这是我想要的输出示例:(我希望 1 同时出现在 Wave 6 和 Wave 7 上,表示两个波的变化)。
我不确定如何在 SPSS 中逻辑地编写它。任何提示将不胜感激。谢谢!
解决方案
wave
有很多方法可以做到这一点,所以假设每个XEmail_A
组合只出现一次,这里有一个应该有效的方法:
sort cases by Email_A wave.
compute changeLocation=
(Email_A=lag(Email_A) and wave=7 and lag(wave)=6 and location<>lag(location)).
此时,您在每个相关行中都有 1 wave=7
。现在要将它放到wave=6
行中,也有几种方法,但这是一个有趣的方法:
sort cases by Email_A wave (d).
if Email_A=lag(Email_A) and wave=6 and lag(changeLocation)=1 changeLocation=1.
推荐阅读
- c# - 我收到有关 Regex.Replace 函数的错误消息
- python - pd.get_dummies 仅将虚拟值名称保留为虚拟列名称
- c# - 使用 SixLabors.ImageSharp 在 C# 中创建 Image 的新实例
- python - 数据框中的 Python 计数下降
- javascript - 如何使用反应路由器访问查询参数?
- android - Jetpack Compose 文本显示混淆
- laravel - Laravel 和 DataTables.net
- ansible - Ansible - 'when' 不是 Play 的有效属性
- google-bigquery - Beam Java Dataflow、Bigquery 流插入 GroupByKey 减少元素
- javascript - 如何通过键值对对对象数组进行重复数据删除?