只有列的某些值作为因子中的水平

Only certain values of column as levels in factor

我有一个数据框,其列值为 - “a, a, a, b, b, b, happy, sad, angry”。

我想使用 as.factor 将列转换为因子。

但是我想知道,是否可以将列的某些值组合在一起作为一个因素级别?例如,'a, b' 作为因子的一个级别,'happy' 作为另一个级别等等?

如何在代码中实现?

编辑 -

我尝试使用:

allData$label <- factor(allData$label,
                        levels = c(1,2,3,4),
                        labels = c((c("a","b")),
                                   "happy", "sad", "angry"))

因为我想要字符 'a' 和 'b' 作为一个标签,所以我将一个向量放在一个向量中。但它给我错误。

是的。使用 labels 选项:


x <- c("a","a","b","b","happy", "sad", "angry")
levels = c("a", "b", "happy", "sad", "angry")
labels = c("letter", "letter", "happy", "sad", "angry")

y <- factor(x, levels, labels = labels)

y

https://rdrr.io/r/base/factor.html

“标签中的重复值可用于将不同的 x 值映射到相同的因子水平。”

编辑:上面代码示例中的错误是嵌套向量。