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

如何拆分R数据框行内不同长度的多字符值 优先使用tidyverse/dplyr方案

实现方案(基于tidyverse生态)

依赖包

需要提前安装加载tidyverse套件(包含dplyr、tidyr、stringr等所需工具包):

install.packages("tidyverse") # 未安装时先执行
library(tidyverse)

处理代码

data %>%
  # 逐列处理字符格式的向量表达式
  mutate(across(everything(), function(col_val) {
    # 去掉外层c()包裹符号
    str_remove(col_val, "^c\\(") %>%
      str_remove("\\)$") %>%
      # 按逗号拆分元素,去除元素前后的空格
      str_split(",\\s*") %>%
      map(trimws)
  })) %>%
  # 按最长列长度展开所有列,短列自动填充NA
  unnest_longer(everything(), indices_include = FALSE)

输出结果验证

运行后得到的结构和需求完全一致:

# A tibble: 2 × 2
  A     B    
  <chr> <chr>
1 a1    b1   
2 a10   NA   

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 11:18:06