【问题标题】:Import multiple txt datasets in R在 R 中导入多个 txt 数据集
【发布时间】:2018-09-30 15:41:15
【问题描述】:

我有一个包含多个 txt 的文件夹,我想将它们作为单独的数据集导入,例如:

datasetpaths <- list.files("C:/OneDrive/R Resources/R Books/Mixed Effects Medels/ZuurDataMixedModelling", full.names = TRUE)
datasetnames <- list.files("C:/OneDrive/R Resources/R Books/Mixed Effects Medels/ZuurDataMixedModelling", full.names = FALSE)
datasetnames <- sub("\\..+", "", datasetnames, perl = TRUE)

datasetnames <- lapply(datasetpaths, FUN = read.table, header = TRUE, dec = ".")

但是在这样做之后,我得到了一个列表datasetnames,其中包含多个数据集。如何在一次运行中将它们作为单个变量单独导入?

【问题讨论】:

  • 单独导入它们的问题是您必须为它们中的每一个提供单独的名称 - 因此您需要定义每个名称并为其分配数据框。这意味着每个文件运行 1 次。将它们列在列表中有什么问题?

标签: r


【解决方案1】:

purrr::map

试试:

library(tidyverse)

df <- map_df(list.files("yourPath", full.names = TRUE), 
                 read.table, header = TRUE, dec = '.')

【讨论】:

  • map() 返回一个数据集列表,我认为它与lapply() 做同样的事情。
  • 使用map_df - 我已经修改了答案
  • 另外,如果您需要错误处理,请参阅此帖子:github.com/STAT545-UBC/Discussion/issues/398
猜你喜欢
  • 2013-12-11
  • 1970-01-01
  • 1970-01-01
  • 2016-07-10
  • 1970-01-01
  • 1970-01-01
  • 2020-12-16
  • 1970-01-01
  • 2013-08-12
相关资源
最近更新 更多