读取 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)
我想修改下面的代码,它读取几个 .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)