Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив WinRAR / Rost SPSS.doc
Скачиваний:
51
Добавлен:
15.05.2015
Размер:
8.1 Mб
Скачать

2.5.2. КомандаRecode

Назначение команды: перекодирование значений переменной в задаваемые. Формат команды:

RECODE V9 (0 THRU 25 = 1)(26 THRU 45 = 2)(ELSE = 3).

или

RECODE V9 (0 THRU 25 = 1)(26 THRU 45 = 2)(ELSE = 3) INTO W9.

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

В команде указывается переменная или список переменных со спецификациями в круглых скобках. Перекодируемые переменные в списке разделяются слэшами (/). По этой команде значения перечисленных переменных в указанных в скобках пределах будут заменены числами, следующими за знаком равенства.

Ключевое слово INTO указывает, в какую переменную (список переменных) переслать результат перекодирования, при этом соответствие между исходным списком переменных и переменными результата устанавливаются естественным образом.

Команда RECODE перекодирует данные исключительно в соответствии со списками старых и новых значений и не изменит переменную назначения, если в перекодируемой переменной не нашлось значений для перекодирования.

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

Ключевые слова для задания входных значений переменных в команде RECODE:

LOWESTилиLO– наименьшее значение переменной;

THRUилиTHR– значения переменной из указанного диапазона;

HIGHESTилиHI– наибольшее значение переменной;

MISSING– отсутствующее значение, определяемое пользователем;

SYSMIS– отсутствующее значение, определяемое системой;

ELSE– все неспецифицированные значения (не включаемые вSYSMIS).

В новой переменной W9, если ее специально предварительно не заполнить информацией, для всех объектов до выполнения команды находятся системные коды неопределенности. Тогда результатом перекодирования будет заданный код или системный код неопределенности SYSMIS. Однако, если вместе с ключевым словом ELSE употребить слово COPY, то значения переменной V9, не включенные в списки перекодирования, будут скопированы в новую переменную.

RECODE educat (1 = 2)(2 = 1)(ELSE = COPY) INTO educat1.

Без (ELSE = COPY) в переменнуюeducat1будут внесены лишь перекодированные значения.

Среди списка значений для переменной, имеющей неопределенные значения, могут стоять слова MISSINGиSYSMIS.

RECODE K9 ТO K12 (0 THRU 25 = 1)(MISSING = 10) (SYSMIS = 5).

Команда RECODEпозволяет также интервалировать, группировать значения (рис. 2.1).

RECODE V11 V13 (8, 9, 2, 4, 7 = 1) (ELSE = 2).

V11 V12  V13  V11  V12  V13

┌──┬─────┬──┬────┐ 1->2  ┌──┬─────┬──┬────┐

│2 │ 9  │1 │ │ 4->1  │1 │ 9  │2 │ │

│7 │ 10 │5 │ │ . │1 │ 10 │2 │ │

│8 │ 11 │4 │ │ 3->2  │1 │ 11 │1 │ │

└──┴─────┴──┴────┘ 7->1  └──┴─────┴──┴────┘

Исходные данные Преобразованные данные

Рис. 2.1. Перекодирование данных

Что происходит при этом с матрицей данных? Как видно из приведенной выше схемы, происходит замена значений в соответствии с приведенными в команде списками значений.

Рассмотрим примеры перекодирования кодов неопределенности. При ответах на вопросы анкеты «Курильские острова» (Приложение 1) кто-то не ответил на первый вопрос, кто-то сказал «Затрудняюсь». В первом случае переменная принимает значение кода неопределенности, во втором равняется 4. Объединим этих респондентов. Это можно осуществить командой

RECODE V1 (SYSMIS = 4).

и таким образом перекодировать системный код неопределенности в код 4. Можно провести обратную операцию:

RECODE V1 (4 = SYSMIS).

Этой командой код 4 перекодируется в системный код неопределенности. Но при обработке данных по этому признаку объекты, для которых значение V1 было когда-то равно 4, будут исключены из статистической обработки.

Тот же эффект можно получить, воспользовавшись командой

MISSING VALUES V1(4).

При этом таблица данных не изменится; но во внутренней для SPSS информации сохранятся сведения о том, что указанный в данной команде код является пользовательским кодом неопределенности для V1.

В SPSS запрещено писать MISSINGсправа от знака равенства, т. е. команда

RECODE V1(4 = MISSING).

недопустима!

Для выполнения команды RECODEс созданием новой переменной используется ключевое словоINTO:

RECODE V11 (8, 9, 2, 4, 7 = 1) INTO W11.

При таком использовании команды в большинстве случаев необходимо перечислять все принимаемые исходной переменной значения, поскольку неуказанные значения переходят в системные неопределенные значения в переменной W11.