首页 > 解决方案 > 如何获取 for 函数并使用 lapply 读取包含数据的文件夹

问题描述

我无法让我的 lapply 函数读取它刚刚在 2009 年的文件中读取的文件,而不是其余文件。那么我该如何修复我的代码,以便它在 2009 年至 2016 年的所有年份中都能读取。

    library(dplyr)
setwd("C:/Users/Sarah/Downloads/ad_viz_plotval_data-")
    read.table(paste("ad_viz_plotval_data-", 2009, ".csv", sep = ""),
               header = TRUE, 
               sep = ",")

    Air <- function(i){
      for(i in 2009:2016){
        cnames <- read.table(paste("ad_viz_plotval_data-",i,".csv",sep = ""), 
                             header = TRUE,
                             sep = ",")
      }
    }



Using lapply, make a list containing a data.frame for each year.
```{r}
cnames1 <- lapply(2009:2016, Air)
f <- ldply(cnames1, data.frame)

标签: rfunctionfor-looplapply

解决方案


您可以尝试直接从lapply

files <- paste0("ad_viz_plotval_data-", 2009:2016, ".csv")
cnames1 <- lapply(files, read.csv)
f <- plyr::ldply(cnames1, data.frame)

推荐阅读