只有列的某些值作为因子中的水平
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 值映射到相同的因子水平。”
编辑:上面代码示例中的错误是嵌套向量。
我有一个数据框,其列值为 - “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 值映射到相同的因子水平。”
编辑:上面代码示例中的错误是嵌套向量。