r - 将数值向量转换为因子

标签 r

我正在尝试将一组变量转换为因式变量: 可变质量的示例值为:3,4,5,6,7,8,9 我想要一个新的 FACTORED 变量 qual_level,它的值 low 、 medium 和 high 使得

low <- quality(3,4)
medium<- quality(5,6,7)
high<- quality(8,9)

因此我尝试实现以下代码。

q_levels <-  a <- factor (white_wine$quality ,
                      c(3,4,5.6,7,8,9,10), 
                      levels=1:3, 
                      labels=c("Low",  "Medium", "High"))

以上代码报错:

Error in factor(white_wine$quality, c(3, 4, 5.6, 7, 8, 9, 10), levels = 1:3, : invalid 'labels'; length 3 should be 1 or 2

如何改进代码?

最佳答案

使用cut离散化一个连续变量:

x <- c(3,4,5,6,7,8,9)
cut(x, c(-Inf, 4, 7, 9), labels = c("Low",  "Medium", "High"))
#[1] Low    Low    Medium Medium Medium High   High  
#Levels: Low Medium High

关于r - 将数值向量转换为因子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46278457/

相关文章:

r - 无法在docker镜像中安装R包

r - POSIXct 和 xts 中的时区,从 R 中的 GMT 转换

r - 展开 data.frame/table

regex - R 字符串来源

r - 使用ggplot boxplot进行位置躲避警告?

当通过 .Rmd 编​​织时,R 假人会打包奇怪的列名称

r - 使用 h2o.cbind 向 h2o 数据集添加列

r - 将矩阵转换为 R 中定义的三个列

r - 防止 R 嵌套列表转换为命名向量

r - glmmADMB 中的新错误? VarCorr 找不到 rdig