Метки значений SPSS в качестве имен столбцов для таблиц в R? - PullRequest
1 голос
/ 04 ноября 2019

Я читаю файл .sav, используя haven :

library(haven)
data <- read_spss("file.sav", user_na = FALSE)

Затем пытаюсь отобразить одну из переменных в таблице:

table(data$region)

Что возвращает:

  1   2   3   4   5   6   7   8   9  10  11  12 
 85 208  43 171  30  40  95 310 133  29  77  36 

Что технически правильно, однако - в SPSS числовые значения в верхнем ряду имеют связанные с ними метки (в данном случае имена регионов). Если я просто запускаю data$region, он показывает мне числа и связанные с ними метки в конце вывода, но есть ли способ заставить эти строковые метки появляться в первой строке таблицы вместо их числовых аналогов?

Заранее благодарю за помощь!

1 Ответ

0 голосов
/ 05 ноября 2019

Способ сделать это - преобразовать переменную как фактор, используя атрибут «метки» вектора в качестве уровней фактора. Пакет sjlabelled включает функцию, которая делает это за один шаг:

data$region <- sjlabelled::as_label(data$region)

Хотя команда table все еще будет работать с полученными данными, компоновка может быть немного запутанной. В пакете forcats есть функция, которая красиво печатает таблицы частот для факторов:

data$region %>% forcats::fct_count()
...