Сравнение значений между строками в группе - PullRequest
1 голос
/ 18 марта 2020

Я собираюсь создать столбец, обозначающий, изменился ли респондент из местоположения с Волны 6 на Волну 7. Мне плевать на предыдущие волны (хотя они есть в данных). Итак, логика c, которую я хочу получить: если электронная почта от волны 6 = электронная почта от волны 7, а местоположение от 6 <> от 7, то 1. Поэтому меня интересуют только респонденты, которые отображаются на обеих волнах 6 и 7.

Вот пример вывода, который мне нужен: (Я хочу, чтобы 1 отображался как на Волне 6, так и на Волне 7, обозначая изменение для обеих волн).

imageenter code here">

Я не уверен, как логически написать это в SPSS. Любые советы будут оценены. Спасибо!

1 Ответ

0 голосов
/ 18 марта 2020

Есть много способов сделать это, поэтому вот один, который должен работать, предполагая, что есть только одно вхождение каждой комбинации wave X Email_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.
...