Иллюстрированный самоучитель по SPSS 10/11

Объединение синтаксиса и диалогового режима

На нескольких примерах мы покажем то, как программный синтаксис можно с пользой внедрить в диалоговый режим 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, chol 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… (Синтаксический)
  • В редакторе синтаксиса введите шесть следующих команд:
COMPUTE prrs1 = rrs1 / rrs0 * 100
COMPUTE prrs6 = rrs6 / rrs0 * 100
COMPUTE prrs12 = rrs12 / rrs0 * 100
COMPUTE prrd1 = rrd1 / rrd0 * 100
COMPUTE prrd6 = rrd6 / rrd0 * 100
COMPUTE prrd12 = rrd12 / rrd0 * 100
EXECUTE
  • Затем щелкните на 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
COMPUTE p = z / a * 100
END REPEAT

Здесь р, z и а являются, так называемыми, переменными-заменителями для реальных переменных, используемых при вычислениях. Они обрабатываются слева направо согласно заданной команды COMPUTE. В рассмотренном примере затраты времени на ввод данных вряд ли стали меньше, но при наличии большего количества переменных в списках экономия времени будет уже ощутимой.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.