Извлечь метку вектора haven_labelled как вектор строк - PullRequest
1 голос
/ 07 февраля 2020

У меня есть вектор haven_labelled, из которого я хочу извлечь его метки как вектор строк:

library(haven)
vec <- structure(c(1, 2, 3, 1, 2, 3), label = "Región", labels = c(`one` = 1, `two` = 2, `three` = 3), 
                 class = "haven_labelled")

vec

#   <Labelled double>: Región
#[1] 1 2 3 1 2 3

#Labels:
# value label
#     1   one
#     2   two
#     3 three

attr(vec, "labels") не делает то, что я хочу, так как возвращает именованный вектор:

#  one   two three 
#    1     2     3 

Желаемый результат:

c("one", "two", "three")

Я посетил много документации и не могу найти решение, поэтому ваша помощь будет очень кстати!

1 Ответ

2 голосов
/ 07 февраля 2020

Это вектор named, поэтому используйте names для извлечения names этого вектора

names(attr(vec, "labels"))
#[1] "one"   "two"   "three"
...