<<
>>

2.5.1.1. Основные функции и операторы команд COMPUTE и IF

Арифметические операторы +, -, *, / в этих командах употребляются обычным порядком, две звездочки ** означают возведение в степень.
Результатом логической операции будет 1, если логическое выражение истинно, и 0, если выражение ложно (логическое выражение (v9 > 30) равно 1, если v9 > 30, и равно 0, если v9 < 30).
Допустимы операторы сравнения <, <=, <, <=, ~=, где последний оператор означает «не равно» и логические операторы — отрицание (not), & - логическое «и» (and) и логическое «или» | (or).
При вычислении логического выражения, если порядок выполнения не задан скобками, сначала выполняются арифметические операции, затем сравнения, затем логические операции. Приоритетность выполнения опе-раций естественна - так она обычно определяется в математике и языках
программирования. Но следует заметить, что операции сравнения находятся на одном уровне. В частности значение выражения (5 > 3 > 2), будет равно 0 («ложь»), так как в соответствии с порядком выполнения операций в этом выражении (5 > 3 > 2) = ((5 > 3) > 2) = (1 > 2) = 0!
Наряду с арифметическими операторами в арифметических выражениях могут использоваться логические выражения, что позволяет достаточно компактно осуществлять преобразования данных:
COMPUTE x = (v9 > 30) + v10 > x + z.
Эта хитроумная команда превращает вначале выражение (v9 > 30) в 0 или 1 в зависимости от его истинности, затем производит вычисления левой ((v9 > 30) + v10) и правой (x + z) частей неравенства и в зависимости от результата сравнения присваивает переменной x значение 0 или 1.
Кроме того, имеется возможность использовать:
Арифметические функции, такие как: ABS - абсолютное значение, RND - округление, TRUNC - целая часть, EXP - экспонента, LN - натуральный логарифм, и др. Например,
COMPUTE LNv9 = LN(V9).
Переменной LNv9 присваиваются логарифмы значений переменной V9.
Статистические функции: SUM - сумма, MEAN - среднее, SD - стандартное отклонение, VARIANCE - дисперсия, MIN - минимум и MAX - максимум. Например, команда
COMPUTE S = MEAN (d1 to d10).
вычисляет переменную, равную среднему валидных (т. е. определенных) значений переменных d1, ..., d10.
Функции распределения, например:
CDF.CHISQ(q, a) - распределения хи-квадрат, CDF.EXP(q, a) - экспоненциального распределения, CDF.T(q, a) - Стьюдента, и др. (q - аргумент функции распределения, a - параметр соответствующего распределения). Команда
COMPUTE Y = CDF.T(X, 10).
Эти функции могут быть использованы для проверки предположения о виде распределения переменной. Например, если мы для расчета переменной используем функцию распределения Стьюдента с 10 степенями свободы и построим значения от переменной X, которая распределена по Стью- денту с 10 степенями свободы, то получим переменную Y, равномерно распределенную на отрезке (0, 1).
Таким образом, если есть подозрение, что Х имеет именно такое распределение, то можно проверить это предположение, построив переменную Y и проверив ее на равномерность распределения на отрезке (0, 1).
То же самое можно предпринять для проверки других видов распределений.
Обратные функции распределения, например:
IDF.CHISQ(p, a) - обратная функция распределения (по сути дела, квантиль) хи-квадрат, IDF.F(p, a, b) - квантиль распределения Фишера, IDF.T(p, a) - квантиль распределения Стьюдента, и др. (p - вероятность, a и b - параметры соответствующего распределения). Например,
COMPUTE Z = IDF.CHISQ(X, 10).
вычисляет квантиль порядка X распределения хи-квадрат с 10 степенями свободы. Такие функции полезны для вычисления значимости статистик для подмножеств исследуемого множества, например значимости отклонения среднего возраста по городам региона, в котором произведен сбор данных.
Датчики случайных чисел, например:
RV.LNORMAL(a, b) - датчик лог-нормального распределения.
RV.NORMAL(a, b) - датчик нормального распределения,
RV.UNIFORM(a, b) - датчик равномерного распределения (a, b - параметры соответствующего распределения).
Функция, дающая значения переменной на предыдущем объекте LAG. Пример использования (см. рис. 1.1, данные «Проблем и жалоб»):
COMPUTE age1 = LAG(age).
COMPUTE age2 = LAG(age, 3).
EXECUTE.
Указанное преобразование осуществляет сдвиг информации, показанный в табл. 2.1. В скобках второй параметр задает длину лагового сдвига.
Таблица 2.1
Сдвиг, произведенный функцией LAG (данные «Проблем и жалоб») N Анкеты Пол (Sex) Возраст (Age) Возраст (Age1) Возраст (Age2) 1 1 20 2 1 25 20 3 2 34 25 4 1 18 34 20
Функция полезна для анализа временных рядов, при анализе анкетных данных - для поиска повторов объектов и других вспомогательных операций.
Логические функции :
RANGE(v, a1, b1, a2, b2, ...) принимают значение 1, если значение V попало хотя бы в один из интервалов [a1, b1], [a2, b2], и 0 - в противном случае.
ANY(v, a1, a2, ...) принимают значение 1, если значение V совпало хотя бы с одним из значений a1, a2, . и 0 - в противном случае.
Кроме того, в пакете имеются строчные функции, функции обработки данных типа даты и времени.
<< | >>
Источник: Ковалева Г.Д., Ростовцев П.С.. Анализ социологических данных с применением статистического пакета SPSS. 2002

Еще по теме 2.5.1.1. Основные функции и операторы команд COMPUTE и IF:

  1. Более того: одна из основных функций ритуала состоит в том, что с его помощью абсолютные, безусловные
  2. Основные функции
  3. 6. Концепция и основные функции маркетинга
  4. 2.5.1.1. Основные функции и операторы команд COMPUTE и IF
  5. 18. Основные функции, выполняемые ЦБ РФ
  6. 46. ОСНОВНЫЕ ФУНКЦИИ ГОСУДАРСТВЕННОГО УПРАВЛЕНИЯ ИСПОЛЬЗОВАНИЕМ И ОХРАНОЙ ЗЕМЕЛЬ
  7. 3. Основные функции федерального органа исполнительной власти по надзору за страховой деятельностью
  8. 10. Основные функции системы обеспечения информационной безопасности Российской Федерации
  9. Раздел первый.Мировоззренческое, теоретическое и методологическое значение философии. Ее основные функции
  10. § 5. Министерство юстиции РФ и его органы:основные функции и организация
  11. 4.2. Основные функции менеджмента
  12. Раздел I.  ЯЗЫК И ЕГО ОСНОВНЫЕ ФУНКЦИИ. РЕЧЬ: ВИДЫ И ФОРМЫ РЕЧИ ТЕКСТ КАК ВЕДУЩАЯ ЕДИНИЦА ОБЩЕНИЯ