Студопедия — Основные команды преобразования данных
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

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






Для преобразования данных в меню окна редактора данных имеется пункт 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).







Дата добавления: 2015-08-30; просмотров: 385. Нарушение авторских прав; Мы поможем в написании вашей работы!



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Постинъекционные осложнения, оказать необходимую помощь пациенту I.ОСЛОЖНЕНИЕ: Инфильтрат (уплотнение). II.ПРИЗНАКИ ОСЛОЖНЕНИЯ: Уплотнение...

Приготовление дезинфицирующего рабочего раствора хлорамина Задача: рассчитать необходимое количество порошка хлорамина для приготовления 5-ти литров 3% раствора...

Демографияда "Демографиялық жарылыс" дегеніміз не? Демография (грекше демос — халық) — халықтың құрылымын...

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

ЛЕЧЕБНО-ПРОФИЛАКТИЧЕСКОЙ ПОМОЩИ НАСЕЛЕНИЮ В УСЛОВИЯХ ОМС 001. Основными путями развития поликлинической помощи взрослому населению в новых экономических условиях являются все...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия