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

如何拼接数据框eligible_pmids列并转字符向量去重

处理逗号分隔PMID字符串并去重的解决方案

基础R实现

# 1. 拼接所有行的eligible_pmids字符串为单个长字符串
combined_pmid_str <- paste(test$eligible_pmids, collapse = ", ")

# 2. 将长字符串拆分为字符向量
pmid_vec <- strsplit(combined_pmid_str, ",\\s+")[[1]]

# 3. 去除向量中的重复元素
unique_pmids <- unique(pmid_vec)

# 可选:查看前几个结果验证
head(unique_pmids)

步骤说明

  • 拼接字符串:paste()函数的collapse参数指定用, 连接所有行的字符串,保证分隔格式统一。
  • 拆分向量:strsplit()使用正则表达式",\\s+"匹配逗号加任意数量空格,确保拆分后的每个元素都是纯净的PMID编号;[[1]]将拆分返回的列表转换为字符向量。
  • 去重:unique()直接对字符向量去重,保留唯一的PMID。

tidyverse风格实现(需加载tidyverse包)

如果习惯使用tidyverse工具链,可以用更简洁的管道式写法:

library(tidyverse)

unique_pmids <- test %>%
  pull(eligible_pmids) %>%          # 提取目标列
  str_c(collapse = ", ") %>%        # 拼接所有字符串
  str_split(",\\s+") %>%            # 拆分字符向量
  pluck(1) %>%                      # 转换为向量
  unique()                          # 去重

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 10:52:16