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

时间:2018-03-05 01:39:16

标签: r

我正在阅读并将一大组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()

正如您所看到的,我已经在&#34; archivos&#34;中找到了文件的名称。但仍然无法弄明白如何将其纳入lapply命令。

谢谢!

1 个答案:

答案 0 :(得分: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')