2.5.1. Команды COMPUTE и IF
Например, для приведенной в Приложении 1 анкеты требуется рассчитать, сколько лет респондент проживал за Уралом (см.
анкету, Приложение 1).TOMPUTE Y = V15 + V16 + V17.
В матрице данных создается новая переменная Y.
В команде указывается имя создаваемой переменной, за которым после обязательного знака « = » следует арифметическое выражение. Создаваемая переменная может быть функцией от других переменных.
После выполнения команды в матрицу данных в активный файл будет дописан столбец с новым именем. Если какой-либо член арифметического выражения не определен, то результатом будет системный код отсутствующего значения (SYSMIS). Например, если в команде COMPUTE Y = X-5/Z. значение переменной X не определено в соответствии с командой MISSING VALUES или имеет системный код неопределенности или, если Z = 0, то переменной Y присваивается системный код неопределенности SYSMIS.
Команда IF при выполнении указанного в ней условия создает новые переменные или заменяет существующие переменные арифметическими выражениями.
IF (R > D OR (R >= E AND B > 0)) STATUS = 1.
IF (STATE = 'IL') COST = COST + 0.07 * COST.
В ней указывается логическое выражение, за которым следует арифметическое присвоение. Логическое выражение должно быть заключено в круглые скобки. Логическое выражение в команде IF может быть ложно не только в результате выводов с позиций формальной математической логики, но в случае, если в выражении встретилось неопределенное значение. Для оператора присваивания в случае неопределенных значений переменных действуют те же правила, что и в команде COMPUTE.
В качестве логического выражения может быть и обычная числовая переменная или числовая константа. Считается, что она принимает значение «истина», если она равна 1, в противном случае ее значение - «ложь».
Область действия IF - один оператор присваивания, приведенный в тексте команды.
Пусть, например, требуется вычислить переменную D, характеризующую отклонение веса (W) от нормального (для мужчин (код значения переменной P «пол» равен 1) нормальный вес должен быть равен величине роста минус 100, для женщин (p = 2) - величине роста минус 105).
IF (P = 1) d = W - (R - 100).
IF (P = 2) d = W - (R - 105).
В результате выполнения этих команд появляется переменная D, которая вычисляется в зависимости от значений переменной P.
В диалоговом окне команд содержится подробный список функций и операторов. Чтобы читатель имел представление о возможностях команд IF и COMPUTE, ниже мы представим их основные типы.
Еще по теме 2.5.1. Команды COMPUTE и IF:
- 2.5.1.1. Основные функции и операторы команд COMPUTE и IF
- Порядок выполнения команд
- Классификация команд.
- 2.5. Основные команды преобразования данных
- Формирование и функционирование команды.
- Характеристики команд.
- Команда
- 2.5. Формирование команд
- Свойства неоднородных команд.
- 2.5.2. Команда RECODE
- 14.3 Самоуправляемые команды
- Команда проекта
- 14.1 Работа в команде