我正在使用数据框,其中每列具有不同的属性。是否可以将指定的属性映射到向量?对于上下文,您可能希望看到这种情况,其中您具有矢量和标签属性形式的原始数据和标记数据。
这是一个具有预期结果的例子:
foo = c(2,1,3,3,2,1)
attr(foo, "mylevels") = c(1,2,3)
attr(foo, "mylabels") = c("Red", "Blue", "Green")
## foo
## [1] 1 2 3 3 2 1
## attr(,"mylevels")
## [1] 1 2 3
## attr(,"mylabels")
## [1] "Red" "Blue" "Green"
## attributes(foo)
## $mylevels
## [1] 1 2 3
## $mylabels
## [1] "Red" "Blue" "Green"
目标如下:
foo[attr(foo, "mylabels")] #(which doesn't work)
"Blue" "Red" "Green" "Green" "Blue" "Red"
答案 0 :(得分:1)
我们可以将'foo'转换为factor
并指定levels
as.character(factor(foo, labels=c("Red", "Blue", "Green")))
或者使用'foo'作为attr
attr(foo, "mylabels")[foo]