Меню Содержимое
Главная arrow Заметки arrow Метки значений переменных в R

Реклама


Метки значений переменных в R PDF Печать E-mail
Автор Александр Матрунич   
19.08.2008 г.
В заметке описан способ создания меток значений номинальных или порядковых переменных в системе статистического анализа R. Есть массив asrt, каждая строка в котором - это значения ответов одного респондента на анкету. Вектор V1_1 представляет ответы на вопрос "Местоположение предприятия на глобальном рынке" с вариантами ответов:
  • лидер рынка
  • заметный игрок
  • участник рынка
  • аутсайдер

Ответы в массиве закодированы цифрами от 1 до 4 соответственно, плюс пропущенные значения.
Задача - установить метки значений, метку вопросов и вывести распределение ответов.
Изначально переменная была закодирована числами, что с т.з. R неверно, т.к. переменная, закодированная числами, д.б. интервальной. Поэтому мы должны указать, что цифры, которыми переменная закодирована, - это не (арифметические) числа, а просто символы. Порядковые и номинальные переменные в R называется упорядоченными и неупорядоченными факторами (factors), соответственно. Категории факторов называются уровнями (levels).
Добавим в массив asrt переменную V1_1f и присвоим ей значения переменой V1_1, но преобразованных в переменную порядкового уровня и с указанием меток каждого уровня. Поскольку в нашем массиве ни разу не был выбран вариант №1, необходимо будет указать, что есть еще и такой уровень.

> asrt$V1_1f<-factor(asrt$V1_1,levels=c(1,2,3,4,NA),labels=c("лидер рынка","заметный игрок","участник рынка", "аутсайдер","нет ответа"),exclude=NULL,ordered=TRUE)


Через levels указываем, какие уровни присутствуют (если бы уровень 1 хотя бы раз был выбран респондентами, тогда levels можно было бы вообще не добавлять).
labels - метки значений переменной. exclude - указание на то, какие значения будут исключены из формирования уровней.
В нашем случае - никакие. ordered=TRUE - указание на то, что наш фактор является упорядоченным. Новая переменная выглядит так (вводим ее название "asrt$V1_1f")

> asrt$V1_1f
[1] нет ответа участник рынка участник рынка заметный игрок участник рынка
[6] нет ответа аутсайдер участник рынка нет ответа участник рынка
5 Levels: лидер рынка < заметный игрок < участник рынка < ... < нет ответа

Здесь весь наш массив из 10 :) элементов и указание на то, как упорядочены уровни. Метку самой переменной укажем, когда будем выводить таблицу. Таблицу выводим коммандой table:

> table(asrt$V1_1f)

лидер рынка заметный игрок участник рынка аутсайдер нет ответа
0 1 5 1 3

Форматирование происходит посредством пробелов, и при использовании не моноширного шрифта все разъезжается. А вернее - съезжается :) К тому же блоггер удаляет двойные пробелы, похоже. Поэтому необходимо научиться делать красивый экспорт. В т.ч. с названием самой таблицы.

Последнее обновление ( 29.09.2008 г. )
 
« Пред.   След. »
Яндекс цитирования   Яндекс.Метрика