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

如何用R函数将单元格内逗号分隔值拆分为同分组的多行数据?

在R中拆分逗号分隔列并展开数据框

首先构造你的示例数据:

df <- data.frame(
  Orthogroup = c(0, 1),
  Sequences = c("Seq1, Seq2, Seq3", "Seq4"),
  stringsAsFactors = FALSE
)

方法一:使用tidyr包(tidyverse生态)

这是最简洁高效的方式,首次使用需先安装包:

install.packages("tidyr")
library(tidyr)

# 拆分Sequences列并自动展开数据框
result_df <- separate_rows(df, Sequences, sep = ",\\s*")
# 重命名列名匹配需求
colnames(result_df)[2] <- "Sequence"

sep = ",\\s*"用于匹配逗号及后续任意数量的空格,确保拆分后的序列名不带多余空格。

方法二:Base R原生实现(无需额外包)

如果不想加载第三方包,用基础R函数即可完成:

# 拆分每个Sequences元素为列表
seq_list <- strsplit(df$Sequences, ",\\s*")
# 根据每个组的序列数量重复Orthogroup值
orthogroup_rep <- rep(df$Orthogroup, sapply(seq_list, length))
# 组合成目标数据框
result_df <- data.frame(
  Orthogroup = orthogroup_rep,
  Sequence = unlist(seq_list),
  stringsAsFactors = FALSE
)

运行上述任意方法后,result_df即为你需要的格式:

OrthogroupSequence
0Seq1
0Seq2
0Seq3
1Seq4

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 23:39:06