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

如何根据数据框名称首字符分组合并全局环境中的数百个数据框?

按前缀分组合并全局环境中的数据框

1. 筛选数据框并提取分组前缀

先把全局环境里所有数据框的名称筛选出来,再根据名称前缀(前两位或首字符)划分分组:

# 筛选全局环境中所有数据框的名称
df_names <- Filter(function(x) is.data.frame(get(x)), ls())

# 提取分组前缀,根据需求二选一:
# ① 前两位字符作为分组(比如AB_James取AB)
groups <- substr(df_names, 1, 2)
# ② 首字符作为分组(比如K_xxx取K)
# groups <- substr(df_names, 1, 1)

2. 批量合并同组数据框

把同组的数据框归到一起,用rbind合并(你提到观测数和变量数一致,行合并刚好匹配需求),最后把合并后的结果放回全局环境:

# 按分组拆分数据框名称列表
grouped_dfs <- split(df_names, groups)

# 遍历每个分组完成合并
for (group in names(grouped_dfs)) {
  # 取出当前分组的所有数据框
  current_dfs <- lapply(grouped_dfs[[group]], get)
  # 合并数据框
  merged_df <- do.call(rbind, current_dfs)
  # 给合并后的数据集命名(比如AB组叫AB_merged),并放到全局环境
  assign(paste0(group, "_merged"), merged_df, envir = .GlobalEnv)
}

额外检查(可选)

合并前最好确认同组数据框的列名完全一致,避免合并出错:

# 拿第一个分组做示例检查
first_group <- grouped_dfs[[1]]
col_check <- lapply(first_group, function(x) colnames(get(x)))
# 返回TRUE说明列名全一致
all(sapply(col_check, function(x) identical(x, col_check[[1]])))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 06:10:30