设计集中文件导入系统

时间:2018-04-26 20:12:52

标签: r

这是一个环境设计问题。我每周运行一些分析/预测脚本,每个脚本都依赖于大量文件,大多数文件都由多个脚本使用。我只需要更改其中一个文件的名称,这真是太痛苦了,因为我必须搜索所有脚本并更改每个脚本中声明的路径。

我想使用带有文件名及其路径的单个.csv主文件,并创建一个集中的函数,该函数获取文件名列表,查找其文件路径,然后将它们全部导入到全局环境中。我可以在我运行的每个脚本中使用此函数。类似的东西:

files_needed <- c("File_1", "File_2", "File_4", "File_6")
import_files(files_needed)

但是这个函数需要间接变量赋值和声明全局变量,知道这些变量是不受欢迎的,我甚至不知道如何同时执行这两个变量。我知道我可以编写用于在每个脚本中手动导入文件路径名的逻辑,但是必须有一个更好的选项,我可以只编写一次导入逻辑。

目前我有一个主文件,我在每个脚本的开头提供,它加载我最常用的包并声明我经常使用的一些帮助函数。我想在某种程度上添加这种导入功能,但我愿意接受与我所描述的完全不同的解决方案。人们通常如何解决这个问题?

作为最后一点,许多文件有另一种扭曲,它们包括例如文件名中的日期,所以我需要能够传递其他参数才能获得我需要的参数。

1 个答案:

答案 0 :(得分:0)

如果没有一个有效的例子,这是未经测试的代码,但为什么不只是使用这些名称列出导入的文件?

files_needed <- c("File_1", "File_2", "File_4", "File_6")
my_imported_files <- 
            setNames( lapply(files_needed, read.csv), paste0(files_needed, "_df") )