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

R中如何批量合并名称匹配固定规则的字符对象而无需逐个输入

R语言批量合并pruned_开头字符对象的方法

问题原因

你之前写的combine = c(list = ls(pattern = "^pruned_"))仅返回了匹配规则的对象名称字符串,没有调取对象对应的实际存储值,因此无法得到合并后的字符向量。

实现方法

方法1:基础R实现(无需加载额外包)

# 1. 获取所有以pruned_开头的对象名
pruned_obj_names <- ls(pattern = "^pruned_")
# 2. 批量提取对象值并合并
combine <- do.call(c, mget(pruned_obj_names))

mget()可以批量传入对象名称字符串,返回对应对象值组成的列表;do.call(c, 列表)会将列表中所有元素拼接为一个字符向量,效果和你手动逐个输入对象名拼接完全一致。

方法2:tidyverse风格实现(适合习惯purrr语法的用户)

library(purrr)

combine <- ls(pattern = "^pruned_") |>
  map(get) |> # 逐个提取对象对应的值
  flatten_chr() # 合并为字符向量

附加提示

如果合并后需要去除重复值,直接在最终结果外嵌套unique()即可:
combine_unique <- unique(combine)

你提到的对象值格式参考如下:
值的格式示例


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 19:54:01