В заметке описан способ создания меток значений номинальных или порядковых переменных в системе статистического анализа R.
Есть массив asrt, каждая строка в котором - это значения ответов одного респондента на анкету. Вектор V1_1 представляет ответы на вопрос "Местоположение предприятия на глобальном рынке" с вариантами ответов:
лидер рынка
заметный игрок
участник рынка
аутсайдер
Ответы в массиве закодированы цифрами от 1 до 4 соответственно, плюс пропущенные значения. Задача - установить метки значений, метку вопросов и вывести распределение ответов. Изначально переменная была закодирована числами, что с т.з. R неверно, т.к. переменная, закодированная числами, д.б. интервальной. Поэтому мы должны указать, что цифры, которыми переменная закодирована, - это не (арифметические) числа, а просто символы. Порядковые и номинальные переменные в R называется упорядоченными и неупорядоченными факторами (factors), соответственно. Категории факторов называются уровнями (levels). Добавим в массив asrt переменную V1_1f и присвоим ей значения переменой V1_1, но преобразованных в переменную порядкового уровня и с указанием меток каждого уровня. Поскольку в нашем массиве ни разу не был выбран вариант №1, необходимо будет указать, что есть еще и такой уровень.
Через 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
Форматирование происходит посредством пробелов, и при использовании не моноширного шрифта все разъезжается. А вернее - съезжается :) К тому же блоггер удаляет двойные пробелы, похоже. Поэтому необходимо научиться делать красивый экспорт. В т.ч. с названием самой таблицы.