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

如何在R语言中为多个数据框分别添加对应年份列?

解决R语言给多个数据框添加对应年份列的问题

原代码的问题点

  • 创建向量/列表错误:R中不能用()生成向量或列表,向量要用c(),列表要用list()
  • 列表索引错误:访问列表单个元素需用双括号[[i]],单括号[i]返回的是子列表,无法直接添加列
  • 列名大小写不一致:需求是year列,原代码写的是Year,需统一

基础R解决方案

# 生成年份向量
years <- c(2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022)
# 将数据框存入列表
df_list <- list(df1, df2, df3, df4, df5, df6, df7, df8)

# 循环为每个数据框添加year列
for (i in 1:8) {
  df_list[[i]]$year <- years[i]
}

# 若需将处理后的数据框放回全局环境(更新原df1至df8)
names(df_list) <- paste0("df", 1:8)
list2env(df_list, envir = .GlobalEnv)

更简洁的tidyverse方案(需安装purrr、dplyr包)

library(purrr)
library(dplyr)

years <- 2015:2022
df_list <- list(df1, df2, df3, df4, df5, df6, df7, df8)

# 批量添加年份列
df_list <- map2(df_list, years, ~ mutate(.x, year = .y))

# 更新全局环境中的数据框
names(df_list) <- paste0("df", 1:8)
list2env(df_list, envir = .GlobalEnv)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 20:25:29