【问题标题】:R looping file importR循环文件导入
【发布时间】:2019-07-30 19:18:18
【问题描述】:

有没有办法循环这个?

jan2018 <- read.csv(file = 'Jan2018.csv')
feb2018 <- read.csv(file = 'Feb2018.csv')
mar2018 <- read.csv(file = 'Mar2018.csv')
apr2018 <- read.csv(file = 'Apr2018.csv')
may2018 <- read.csv(file = 'May2018.csv')
jun2018 <- read.csv(file = 'Jun2018.csv')
jul2018 <- read.csv(file = 'Jul2018.csv')
aug2018 <- read.csv(file = 'Aug2018.csv')
sep2018 <- read.csv(file = 'Sep2018.csv')

代码会是什么样子?

回答:

这是一个很好的示例,说明如何一次自动导入多个文件:

list_of_files <- list.files(pattern = "^starting_text")

data <- list_of_files %>%
  setNames(nm = c("jan", "feb", "mar", "apr", "may", "jun", "jul")) %>%
  map_df(read_xlsx, .id = "month")

【问题讨论】:

标签: r loops import


【解决方案1】:

试试这个:

file_names <- list.files(pattern = ".*2018.csv")
dates <- tolower(sub(".csv", "", file_names))

myList <- lapply(file_names, read.csv)


for (i in 1:length(myList)) {

  assign(paste0(dates[i]), as.data.frame(myList[[i]]))

}

【讨论】:

  • list_of_files &lt;- list.files(pattern = "^starting_text") data &lt;- list_of_files %&gt;% setNames(nm = c("jan", "feb", "mar", "apr", "may", "jun", "jul")) %&gt;% map_df(read_xlsx, .id = "month")
猜你喜欢
  • 2016-11-21
  • 2021-11-19
  • 2020-05-02
  • 2023-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-08
  • 1970-01-01
相关资源
最近更新 更多