Добавление одних и тех же данных для одного и того же значения переменной (т.е. ID)

#spss

#spss

Вопрос:

У меня есть два набора файлов данных в .sav (EMR.sav и APP.sav)

То, что я хочу сделать, это объединить две данные EMR и APP, чтобы выполнить «сравнение шагов по полу».

Данные EMR выглядят следующим образом:

 pid sex
306 1
866 1
896 1
921 2
 

Данные приложения будут примерно такими (A_id будет равен pid в EMR):

 A_id A_calorie A_distance
866   124        14
866   24         24
866   13         35
866   12         23
866   23         0
921   101        23
921   12         13
921   19         24
921   200        235 
921   232        241
 

Результат, который я хочу получить, — это два файла данных для объединения и получения:

 pid  sex   A_calorie A_distance
866   1       124        14
866   1       24         24
866   1       13         35
866   1       12         23
866   1       23         0
921   2       101        23
921   2       12         13
921   2       19         24
921   2       200        235 
921   2       232        241
 

Но я продолжаю получать

 pid  sex   A_calorie A_distance
866   1       124        14
866   .       24         24
866   .       13         35
866   .       12         23
866   .       23         0
921   2       101        23
921   .       12         13
921   .       19         24
921   .       200        235 
921   .       232        241
 

Как я могу получить один и тот же pid с одинаковым значением пола??

Кстати, если бы это было R, можно было бы использовать что-то вроде merge(EMR, APP, key=pid)

Ответ №1:

Вы можете сортировать файлы и использовать match files , чтобы получить то, что вам нужно:

 get file=" ...... EMR ...... ".
sort cases by pid.
dataset name EMR.

get file=" ...... APP ...... ".
dataset name APP.
sort cases by A_id.
match files /file=* /rename A_id=pid /table=EMR /by pid.
exe.