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

如何为R语言列表中的每个DataFrame添加对应文件名列?

给列表中每个DataFrame添加对应文件名列的解决方案

你需要把数据框列表和对应的文件名列表一一配对处理,才能给每个DataFrame添加正确的来源文件名。之前的代码只遍历了数据框,没关联文件名,所以无法实现需求。以下是两种可行的方法:

方法1:使用基础R的Map()函数

library(dplyr)

# 获取所有以"i_"开头的文件
list_of_files <- list.files(pattern = "i_")

# 读取文件为DataFrame列表
my_data <- lapply(list_of_files, read.csv)

# 给每个DataFrame添加文件名列
datamap <- Map(function(df, filename) {
  df %>% mutate(file_title = filename)
}, my_data, list_of_files)

方法2:使用purrr包的map2()(更简洁)

如果你安装了purrr包(tidyverse系列工具,和dplyr搭配使用更顺手),可以用这个方法:

library(dplyr)
library(purrr)

list_of_files <- list.files(pattern = "i_")
my_data <- lapply(list_of_files, read.csv)

datamap <- map2(my_data, list_of_files, ~ .x %>% mutate(file_title = .y))

关键说明

  • 两种方法都是把my_data里的每个DataFrame和list_of_files里对应的文件名配对,保证每个DataFrame添加的是自己的来源文件名。
  • 你之前的代码里file_id()不是R内置函数,而且没有传递具体的文件名参数,所以无法生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 05:50:41