【发布时间】:2019-02-15 16:44:38
【问题描述】:
例如,如果我们在 R 中有一个名为 x 的数据框,其中有一列有一些级别,并且我们希望将这些级别作为字符串获取,这应该可以:
levels(x$column)[x$column]
谁能解释一下这个 R 语法是如何工作的?
感谢您的帮助
【问题讨论】:
标签: r string syntax frame levels
例如,如果我们在 R 中有一个名为 x 的数据框,其中有一列有一些级别,并且我们希望将这些级别作为字符串获取,这应该可以:
levels(x$column)[x$column]
谁能解释一下这个 R 语法是如何工作的?
感谢您的帮助
【问题讨论】:
标签: r string syntax frame levels
考虑一个简单的单列数据框:
df <- data.frame(x=c("a", "b", "c"))
levels() 函数为输入的所有字符级别。然后,我们使用级别索引本身对该字符向量进行子集化:
levels(df$x)[df$x]
[1] "a" "b" "c"
【讨论】:
levels(df$x)[c("a", "b", "c")] 不做同样的事情? df$x不会像你说的那样产生索引,而是一个字符向量。
levels(df$x)[as.factor(c("a", "b", "c"))],它应该可以工作。
NA,因为该级别在因子 df$x 中不存在。