You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将分类标签(class label)转换为数值格式生成新列

R语言实现分类标签转数值列的方法

方法1:正则提取(适合分类名自带对应数值的场景)

直接提取分类名中的数字转换为整数,对你示例中的class1/class2/class3格式适配性最好:

df$nsp <- as.integer(sub("class(\\d+)", "\\1", df$class))

方法2:因子映射(通用无依赖方法)

通过指定因子层级顺序来匹配数值,不需要分类名和数值有字符关联,适配所有分类映射场景:

# 按你需要的映射顺序指定levels,顺序对应数值1/2/3
df$nsp <- as.integer(factor(df$class, levels = c("class1", "class2", "class3")))

方法3:自定义规则映射(适合规则复杂、需要明确映射逻辑的场景)

用dplyr的case_when写明确的映射规则,可读性最高,后续修改规则也方便:

library(dplyr)
df <- df %>%
  mutate(nsp = case_when(
    class == "class1" ~ 1,
    class == "class2" ~ 2,
    class == "class3" ~ 3
  ))

内容的提问来源于stack exchange,提问作者vicky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 06:06:07