R 创建从CSV文件返回数据帧的函数?

R 创建从CSV文件返回数据帧的函数?,r,function,csv,merge,R,Function,Csv,Merge,我试图做一个函数,从8个不同的CSV文件输出一个数据帧。它们都有相同的变量和相同的数据类型。唯一不同的是年份。我试着写出这个函数,但似乎无法使它工作。我想一个lapply会有用的,但我不知道如何合并它 以下是说明: 编写一个名为“air”的函数,该函数接受一个“year”参数,并返回一个包含该年数据的data.frame,从而禁止自动转换为因子 path <- "C:/Users/Lacy Macc/Downloads/adviz/" files <- list.files(path

我试图做一个函数,从8个不同的CSV文件输出一个数据帧。它们都有相同的变量和相同的数据类型。唯一不同的是年份。我试着写出这个函数,但似乎无法使它工作。我想一个lapply会有用的,但我不知道如何合并它

以下是说明: 编写一个名为“air”的函数,该函数接受一个“year”参数,并返回一个包含该年数据的data.frame,从而禁止自动转换为因子

path <- "C:/Users/Lacy Macc/Downloads/adviz/"
files <- list.files(path=path, pattern="*.csv")
for(y in files)
 air <- function(year){
   if (!exists(""))
     }
 }

path如果每个文件的文件名不同,您可能需要使用
list.files
并搜索文件名,以确定与年份匹配的文件名。但对于固定文件名方案,只需在文件名的适当位置插入年份:

path <- "C:/Users/Lacy Macc/Downloads/adviz/"
year <- 2013
file_path <- paste0(path, "ad_viz_plotval_data-", year, ".csv")

path
do.call(rbind、lappy(list.files(path=path,pattern=csv$)、read.csv))
,尽管您可能希望根据指令将文件向量子集为所需的文件。我是将其添加到函数中,还是仅将其作为自己的一部分?该代码将读取
路径
文件夹中的所有文件,并将它们合并到单个数据帧中。但根据说明,这不是您需要的,您只需要读取并返回与正确年份对应的数据。你能举一个文件命名方案的例子,以及它与年份的对应关系吗?@lacymac5552。我通常单独使用它,因为我不会重新阅读csv,但如果您愿意,可以将其放入函数中。@Marius csv格式的文件就是这样的文件[1]“ad_viz_plotval_data-2009.csv”“ad_viz_plotval_data-2010.csv”[3]“ad_viz_plotval_data-2011.csv”“ad_viz_plotval_data-2012.csv”[5]“ad_viz plotval_data-2013.csv”“ad_viz_plotval_data-2014.csv”[7]“ad_viz_plotval_data-2015.csv”“ad_plotval_plotu data-2016.csv”