如何为DataFrame变量添加标签且class()仅返回character类型
解决方法
要在保留变量标签的前提下,让class()仅显示character类型,只需直接修改变量的类属性,移除labelled类即可——标签存储在独立的label属性中,修改类不会影响它。
具体代码操作:
# 创建带标签的DataFrame have <- data.frame(name=c('person1','person2','person3','person4')) label(have$name) <- 'Name of person' # 修改类,仅保留character类型 class(have$name) <- "character" # 验证结果 class(have$name) # 输出: "character" attr(have$name, "label") # 输出: "Name of person"(标签仍保留)
原理说明:
- 使用
label()函数添加标签时,会给变量的class附加labelled类型,但标签本身是存在于变量的"label"属性中的。 - 直接给
class()赋值为"character",只会移除多余的labelled类,不会删除标签属性。
内容的提问来源于stack exchange,提问作者jkatam
相关产品推荐
相关产品推荐

