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

如何用正则表达式匹配定位特定数据框并合并为列表管理?

嘿,这事儿很简单,你已经找对方向了!用ls(pattern = "jan[0-9]")拿到目标数据框的名字后,只需要配合lapply()和get()函数,就能轻松把这些数据框打包成一个管理方便的列表。

直接上实操代码:

# 第一步:捕获所有符合命名规则的数据框名称
target_df_names <- ls(pattern = "jan[0-9]")

# 第二步:用lapply遍历名称,把每个数据框取出来放进列表
jan_dataframes <- lapply(target_df_names, get)

# 可选但很实用:给列表元素命名,和原数据框名字一致,后续调用更直观
names(jan_dataframes) <- target_df_names

简单解释下:get()函数的作用就是把字符串形式的对象名转换成实际的对象(也就是你的数据框),lapply()会自动遍历所有匹配到的名字,把它们逐个塞进列表里。

如果怕环境里有其他非数据框的对象也符合这个命名规则(比如某个向量或者函数也叫janxxx),可以加个过滤步骤,确保只选数据框:

# 先筛选出符合命名规则且是数据框的对象名
target_df_names <- Filter(
  function(x) is.data.frame(get(x)),
  ls(pattern = "jan[0-9]")
)

# 再生成列表
jan_dataframes <- lapply(target_df_names, get)
names(jan_dataframes) <- target_df_names

这样处理后,jan_dataframes就是你要的、包含所有目标数据框的列表啦,不管是批量操作还是后续管理都方便很多~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:22:11