我正在阅读并将一大组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命令。
谢谢!
答案 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')