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

R语言如何根据现有列取值新增分类变量列

R语言基于数据框列值新增分类列的实现方法

方法1:基础R实现(无需加载额外包)

直接使用ifelse搭配%in%匹配多个目标值,一行代码即可完成:

# 赋值新增category列
df$category <- ifelse(df$common_name %in% c("Sailfin molly", "Hardhead silverside"), "Fish", "Crab")

运行后调用head(df)即可看到预期输出结果。

方法2:dplyr包实现(适合tidyverse生态用户)

如果日常使用tidyverse体系,可以用mutate()搭配if_else()或者扩展性更强的case_when()实现:

用if_else实现

# 加载dplyr包
library(dplyr)

df <- df %>%
  mutate(category = if_else(common_name %in% c("Sailfin molly", "Hardhead silverside"), "Fish", "Crab"))

用case_when实现(后续新增分类规则更易扩展)

df <- df %>%
  mutate(category = case_when(
    common_name %in% c("Sailfin molly", "Hardhead silverside") ~ "Fish",
    .default = "Crab"
  ))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 13:45:03