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

R语言:如何将数据框Category列拆分为性别与描述新列?

R语言拆分Category列的实现方法

先还原原始数据框:

Category <- c("Male children 0-15 years", "Female children 0-15 years", "Male Youths 18 years",  "Female Youths 18 years")
value <- c(12, 23, 33, 45)
DF <- data.frame(Category, value)

这里提供两种常用的实现方式:

方式一:用tidyverse工具包快速拆分

借助tidyr里的separate函数,通过正则精准定位拆分位置,一步完成列拆分:

library(tidyverse)

DF_new <- DF %>%
  separate(Category, into = c("gender", "new.column"), 
           sep = "(?<=^\\w+) ",  # 匹配第一个单词后的空格
           extra = "merge")  # 把剩余所有内容合并到new.column列

print(DF_new)

方式二:基础R原生实现

不用额外安装包,用strsplit配合sapply即可完成:

# 按第一个空格拆分,只拆成两部分
split_content <- strsplit(DF$Category, " ", fixed = TRUE, n = 2)

# 提取拆分后的两部分,添加为新列
DF$gender <- sapply(split_content, function(x) x[1])
DF$new.column <- sapply(split_content, function(x) x[2])

# 调整列顺序和目标输出一致(可选)
DF <- DF[, c("Category", "gender", "value", "new.column")]

print(DF)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 17:54:23