2

我有一个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")

我访问了很多文档,但无法找到解决方案,因此非常欢迎您的帮助!

4

1 回答 1

4

它是一个named向量,因此用于names提取该names向量的

names(attr(vec, "labels"))
#[1] "one"   "two"   "three"
于 2020-02-07T20:12:13.397 回答