* Допустим, я хочу сравнить группу пациентов с повышенным уровнем холестерина (cholest=1) с группой пациентов * с нормальным уровнем холестерина (cholest=0). * Мне требуется для каждого пациента из первой группы найти "близнеца" из второй группы (по заданным переменным). * Автор: rlevesque@videotron.ca, размещено в новостной группе spss 20 апреля 2000 г. **** Создадим пример данных для иллюстрации. NEW file. input program. SET SEED=246813579. loop caseid=1 to 200. leave caseid. compute age=RND(uniform(4)). COMPUTE gender=UNIFORM(1)>.5. COMPUTE bloodpr=RND(UNIFORM(4)). COMPUTE diab=UNIFORM(1)>.5. COMPUTE cholest=UNIFORM(1)>.5. FORMATS caseid TO cholest (F8.0). end case. end loop. end file. end input program. execute. *** Далее - решение задачи. *Создадим критерий сопоставления на основе комбинации уровней контрольных переменных. * (полагаю, что значения всех таких переменных варьируются от 0 до 9). COMPUTE criter=age+gender*10+bloodpr*100+diab*1000. COMPUTE draw=UNIFORM(1). SORT CASES BY cholest criter. RANK VARIABLES=draw (A) BY cholest criter /RANK /PRINT=YES /TIES=MEAN . SORT CASES BY criter rdraw. COMPUTE criter2=criter*1000+rdraw. SAVE OUTFILE='c:\\temp\\all_data.sav'. SELECT IF (cholest=0). SAVE OUTFILE='c:\\temp\\normal pop.sav'. GET FILE='c:\\temp\\all_data.sav'. SELECT IF (cholest=1). RENAME VARIABLES (caseid=caseid1) (age=age1) (gender=gender1) (bloodpr=bloodpr1) (diab=diab1) (rdraw=rdraw1). SAVE OUTFILE='c:\\temp\\pathological pop.sav'. MATCH FILES /FILE=* /TABLE='c:\\temp\\normal pop.sav' /RENAME (cholest = d0) /BY criter2 /DROP= d0. *Сохраним только те наблюдения, для которых нашлась пара. SELECT IF ~MISSING(caseid).