Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Основные команды преобразования данных




Для преобразования данных в меню окна редактора данных имеется пункт TRANSFORMATIONS, и заготовки команд можно получать, пользуясь этим пунктом.

Преобразования в анализе данных одна из самых трудоемких частей работы. Специалист, освоивший технику преобразования данных, имеет существенный шанс для получения содержательных результатов. На практике в большинстве случаев можно обойтись следующими командами:

COMPUTE - арифметические операции над переменными;

IF - условные арифметические операции над переменными;

RECODE - перекодирование переменных;

COUNT - подсчет числа заданных кодов в списке переменных.

Команды COMPUTE и IF

Команда COMPUTE вычисляет новую переменную или заменяет существующую.

Пусть, например, для приведенной в приложении 1 анкеты требуется рассчитать, сколько лет респондент проживал за Уралом (см. анкету в приложении 1).

СOMPUTE 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, ниже мы представим их основные типы.

Основные функции и операторы команд 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).

Статистические функции: SUM сумма, MEAN - среднее, SD стандартное отклонение, VARIANCE - дисперсия, MIN -минимум и MAX - максимум. Например, команда

Compute S=меаn(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).

Вычисляет переменную Y, значения которой суть значения функции распределения Стьюдента с 10 степенями свободы от значений переменой x.

Если есть подозрение, что X имеет именно такое распределение, то переменная y должна иметь равномерное на отрезке (0,1) распределение. Благодаря этому можно проверить предположение о распределении X.

То же самое можно сказать о других видах распределений.

Обратные функции распределения, например,

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).




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 432; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.018 сек.