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

如何用循环简化R语言中重复的数据框操作?

批量重命名数据框列并合并对应数据集

步骤1:批量重命名data_1至data_21的第一列为ID

推荐将分散的数据框存入列表统一处理,替代逐个手动操作:

# 加载dplyr(未加载时执行)
library(dplyr)

# 一次性获取所有data_n数据框并存入列表
data_list <- mget(paste0("data_", 1:21))

# 批量修改每个数据框的第一列为ID
data_list <- lapply(data_list, function(df) {
  colnames(df)[1] <- "ID"
  df
})

# 可选:将处理后的data_n放回全局环境(保留原命名)
list2env(data_list, envir = .GlobalEnv)

步骤2:批量合并对应序号的data_n与df_n

通过列表配对确保对应序号的数据集精准合并:

# 一次性获取所有df_n数据框并存入列表
df_list <- mget(paste0("df_", 1:21))

# 按序号配对执行inner_join合并
merged_list <- Map(function(data_df, df_df) {
  inner_join(data_df, df_df, by = "ID")
}, data_list, df_list)

# 可选:将合并结果命名为merged_1至merged_21并放回全局环境
names(merged_list) <- paste0("merged_", 1:21)
list2env(merged_list, envir = .GlobalEnv)

关键说明

  • mget()可快速抓取所有符合命名规则的数据框,避免重复编写单个变量名
  • Map()会严格按列表顺序配对元素,保证data_n与df_n一一对应合并
  • 若无需保留原数据集,可直接通过列表操作完成合并,无需放回全局环境,更节省内存

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 21:47:47