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

在R语言中用dplyr的mutate结合str_split按分隔符拆分字符串

R语言使用dplyr拆分字符串为多字段的解决方案

需求说明

需要将数据框df_current中的data_current字段,按固定分隔符-拆分为FirstName、LastName、nino三个字段,同时保留原始字段,最终得到目标结构df_want。

原始数据

df_current <- data.frame(data_current = c("laura-smith-X12344G", "james-breen-Y12345G", "ben-thomas-G333334"))

解决方案

借助tidyverse生态中的dplyr管道和tidyr::separate函数即可实现,代码如下:

# 加载所需包
library(dplyr)
library(tidyr)

# 执行拆分并保留原字段
df_want <- df_current %>%
  separate(
    col = data_current,
    into = c("FirstName", "LastName", "nino"),
    sep = "-",
    remove = FALSE
  )

代码说明

  • separate函数用于按指定分隔符拆分单列到多列,天然适配dplyr的管道操作
  • col参数指定要拆分的目标字段
  • into参数定义拆分后的新字段名称,顺序与拆分后的字符串片段一一对应
  • sep = "-"明确分隔符为-
  • remove = FALSE设置保留原始的data_current字段,不自动移除

结果验证

执行上述代码后,df_want的结构与需求完全一致:

# 输出df_want
> df_want
         data_current FirstName LastName    nino
1 laura-smith-X12344G      laura    smith X12344G
2 james-breen-Y12345G      james    breen Y12345G
3   ben-thomas-G333334        ben   thomas G333334

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 04:07:03