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

如何将数值列转换为factor类型并分配对应标签且不修改原始数据

实现方案

基础R写法

假设原始数据框为df,待转换的数值列名为fuel_type_num,你可以直接生成新的因子列/新数据框,全程不修改原始数据:

  • 生成带新因子列的完整新数据框:
df_new <- transform(df, 
  fuel_type = factor(
    fuel_type_num,
    levels = c(1, 2, 3),
    labels = c("Petrol", "Hybrid", "Diesel")
  )
)
  • 仅单独生成转换后的因子向量:
fuel_factor <- factor(
  df$fuel_type_num,
  levels = c(1, 2, 3),
  labels = c("Petrol", "Hybrid", "Diesel")
)

tidyverse(dplyr)写法

如果你习惯用tidyverse生态的工具,可以用mutate()生成新列:

library(dplyr)

df_new <- df %>%
  mutate(
    fuel_type = factor(
      fuel_type_num,
      levels = c(1, 2, 3),
      labels = c("Petrol", "Hybrid", "Diesel")
    )
  )

你可以运行head(df)验证,原始数据框的数值列不会发生任何改动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 21:54:03