Объединение синтаксиса и диалогового режима
26.3 Объединение синтаксиса и диалогового режима
На нескольких примерах мы покажем то, как программный синтаксис можно с пользой внедрить в диалоговый режим SPSS. Во всех статистических процедурах, установки, произведенные в соответствующих диалоговых окнах, могут быть перенесены в редактор синтаксиса при помощи специального переключателя. При необходимости, Вы можете дополнительно отредактировать этот синтаксис для того, чтобы добиться выполнения некоторых задач, недоступных в режиме работы через диалоговые окна. Конечно же, для этого необходимо знать особенности подобных синтаксических возможностей.
В качестве первого примера рассмотрим тест Стьюдента для зависимых выборок. Тест Стьюдента для зависимых выборок был использован в разделе 13.2 при сравнения двух
переменных chol0 и chol1 из файла hyper.sav. Синтаксис, генерируемый программой после нажатия переключателя Paste (Вставить), выглядит следующим образом:
T-TEST
PAIRS= chol0 WITH
chol1 (PAIRED)
/CRITERIA=CIN(.95)
/MISSING=ANALYSIS.
Если Вы хотите сравнить между собой не только переменные chol0 и chol 1, а и попарно сравнить все четыре переменные chol0, chol1, cho!6 и chol 12, то в итоге при помощи данного диалогового окна Вам придётся произвести шесть операций парного сравнения. Это довольно утомительный процесс и, если было бы необходимо попарно сравнить еще большее количество переменных, то он отнял бы у Вас довольно много времени.
-
Программный синтаксис, отображаемый в редакторе синтаксиса, приведите к следующему виду
T-TEST
PAIRS= chol0, chol1, chol6, chol12
/CRITERIA=CIN(.95) /MISSING=ANALYSIS .
-
Начните расчёт
Попарно будут протестированы все переменные, перечисленные во вспомогательной команде PAIRS.
Похожий пример возьмём из раздела 15.2, где для этих четырёх переменных производится расчёт корреляционной матрицы Пирсона. Вы увидите следующий исходный синтаксис
CORRELATIONS
/VARIABLES=chol0 choll chol6 chol12
/PRINT=TWOTAIL SIG
/MISSING=PAIRWISE .
Если же Вы, допустим, желали бы рассчитать не совокупную корреляционную матрицу, а, например, проверить корреляции одной только переменной chol0 с переменными chol1, chol6 и chol 12, то Вам пришлось бы произвести три довольно объёмных расчёта. И в этом случае Вы можете очень эффективным способом отредактировать программный синтаксис, применив ключевое слово WITH:
CORRELATIONS
/VARIABLES=chol0 WITH chol1 chol6 chol12
/PRINT=TWOTAIL SIG
/MISSING=PAIRWISE .
Следующий пример касается трансформации данных, а именно, образования новых переменных при помощи некоторой формулы. С этой целью вновь вернёмся к файлу hyper.sav, точнее говоря — к переменным rrs0, rrs1, rrs6, rrs12, rrd0, rrd1, rrd6 и rrd12, отражающим состояние систолического и диастолического давлений в четыре различных момента времени. Образуем шесть новых переменных, которые будут отображать показатели трёх последующих моментов времени, выраженные в процентах от исходной величины (переменные rrs0 и rrd0). Для этого после выбора меню Transform (Трансформировать) Count (Подсчитать) необходимо задать в общей сложности шесть формул вида
prrs1=(rrs1/rrs0)*100
где prrs1 — в нашем примере, процентный показатель, соответствующий переменной rrs1, соотнесённой к исходной величине rrs0. Но если Вы будете в этом случае применять синтаксис, то, пожалуй, все можно сделать гораздо быстрее.
-
Выберите в меню File (Файл) New (Новый) Syntax... (Синтаксический)
-
В редакторе синтаксиса введите шесть следующих команд:
COMPOTE prrsl=rrs1/rrs0*100.
COMPOTE prrs6=rrs6/rrs0*100.
COMPOTE prrsl2=rrs12/rrs0*100
. COMPOTE prrdl=rrdl/rrd0*100.
COMPOTE prrd6=rrd6/rrd0*100.
COMPOTE prrdl2=rrd12/rrd0*100.
EXECOTE.
-
Затем щёлкните на Edit (Правка) Select All (Выделить всё)
-
Нажатием кнопки Run Current (Выполнить текущее задание) начните выполнение вышеуказанной последовательности команд.
Для использования в дальнейших расчётах у Вас появятся шесть новых переменных, которые будут отображать искомые процентные показатели. Если Вы посмотрите на шесть приведенных команд COMPUTE, то наверняка заметите, что все они построены по одному и тому же принципу. Меняются только числители и знаменатели, на месте которых необходимо подставлять соответствующие переменные. Абсолютно такую же последовательность команд COMPUTE можно создать при помощи команд DO REPEAT — END REPEAT. Введите в редакторе синтаксиса следующую структуру команд:
DO REPEAT p=prrs1,prrs6,prrs12,prrd1,prrd6,prrd12/
z=rrs1,rrs6,rrs12,rrd1,rrd6,rrd12/
a=rrs0,rrs0,rrs0,rrd0,rrd0,rrd0.
COMPOTE p=z/a*100.
END REPEAT .
Здесь р, z и а являются, так называемыми, переменными-заменителями для реальных переменных, используемых при вычислениях. Они обрабатываются слева направо согласно заданной команды COMPUTE. В рассмотренном примере затраты времени на ввод данных вряд ли стали меньше, но при наличии большего количества переменных в списках экономия времени будет уже ощутимой.