读取 R 中的多个文件 - TAB 分隔文件

Read Several Files in R - TAB Delimited Files

我想修改下面的代码,它读取几个 .csv(逗号分隔值)文件,以通知它这些文件是制表符分隔的,即 .tsv 文件。

temp = list.files(pattern="*.csv")
myfiles = lapply(temp, read.delim)

对于单个文件,我做了(使用 readr 包):

data_1  <- readr::read_delim("dataset_1.csv", "\t", escape_double = FALSE, trim_ws = TRUE)

有什么帮助吗?谢谢,

里卡多

我猜你要找的是以下内容:

版本 1:用户定义函数

my_read_delim <- function(path){
  readr::read_delim(path, "\t", escape_double = FALSE, trim_ws = TRUE)
}
lapply(temp, my_read_delim)

版本 2:使用 lapply
... 参数 lapply 有第三个参数 ...,这意味着第二个参数之后的参数被传递给指定为第二个参数的函数:

lapply(temp, readr::read_delim, delim = "\t", escape_double = FALSE, trim_ws = TRUE)

版本二与版本一基本相同,但更紧凑


假设所有文件都具有相同的列:

在大多数应用程序中,在通过 read_delim 读取数据后,您想要 rbind 它们。您可以使用 purrr 包中的 map_df 来简化它,如下所示:

require(purrr)
require(readr)
# or require(tidyverse)

temp <- list.files(pattern="*.csv")
map_df(temp, read_delim, delim = "\t", escape_double = FALSE, trim_ws = TRUE)