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

R语言data frame基于x列阈值分类生成新列z的实现方法咨询

R语言实现数据框新增分类列的两种方法

你可以选择基础R或者tidyverse生态的dplyr包两种方案实现需求:

方案1:基础R(无需安装额外包)

使用嵌套ifelse函数直接赋值新列:

# 嵌套ifelse按规则生成z列
df$z <- ifelse(df$x > 0.8, "A", 
               ifelse(df$x >= 0.5 & df$x <= 0.8, "B", "C"))

运行后得到的df结果如下:

xyz
0.320.68C
0.800.20B
0.600.40B

方案2:dplyr包(代码可读性更高,适合多分类场景)

先确保你已经安装并加载dplyr包,使用case_when函数定义分类规则:

# 加载包
library(dplyr)
# 新增z列
df <- df %>% 
  mutate(z = case_when(
    x > 0.8 ~ "A",
    x >= 0.5 & x <= 0.8 ~ "B",
    x < 0.5 ~ "C"
  ))

两种方案最终输出的结果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 19:06:04