将导入文件列表的文件名保存到数据框的列中

问题描述 投票:1回答:1

我正在阅读并将一大组csv表组合到R中,但在合并它们之前,我想创建一个列,其中包含这些特定行集所属的文件名。

以下是我编写的用于读取文件列表的代码示例:

archivos <- list.files("proyecciones", full.names = T)
#proyecciones is the folder where all the csv files are located.
tbl <- lapply(archivos, read.table, sep="", head = T) %>% bind_rows()

正如您所看到的,我已经在“archivos”中拥有了文件的名称,但仍然无法弄清楚如何将其放入lapply命令中。

谢谢!

r
1个回答
1
投票

我们需要在.id中使用bind_rows

lapply(archivos, read.table, sep="", header = TRUE) %>%
    set_names(archivos) %>%
    bind_rows(.id = 'grp')

一个更加整洁的语法

library(tidyverse)
map(archivos, read.table, sep='', header = TRUE) %>%
     setnames(archivos) %>%
     bind_rows(.id = 'grp')
© www.soinside.com 2019 - 2024. All rights reserved.