如何根据 R 中的年度日期正确设置文件路径?

How to properly set a file path based on a yearly-date basis in R?

我试图防止将来对 R 中的路径文件进行调试,file_path_minus 对应于 10_2020(2020 年 10 月)的文件;

对于下个月,路径应该是去年而不是新年(2021), 11_2020(2020 年 11 月)是预期的连接字符串,而不是像当前代码那样 11_2021

我认为可扩展函数会非常好,因为这将应用于大量路径。

但是,我该如何处理呢? 有什么函数可以用来解决这个问题吗?

当前路径编码如下:

# file name #
file_bs_minus<- paste("test", 
                      "_", 
                      lubridate :: month(Sys.Date() %m-% months(2)),
                      "_", 
                      lubridate :: year(Sys.Date()),
                      ".csv",
                      sep= "")
# path file #

path_bs_minus <- paste("data", "bases", file_bs_minus, sep= "/")

我们可以在完整的 Date 对象上执行 addition/subtraction,而不是提取 month 并添加 months,以避免与 Year 不匹配然后 format

format(Sys.Date() %m-% months(2), "test_%m_%Y.csv")

然后我们用file.path构造路径

file.path("data", "bases", format(Sys.Date() %m-% months(2), "test_%m_%Y.csv"))
#[1] "data/bases/test_10_2020.csv"

下个月测试

format(as.Date("2021-01-05")  %m-% months(2), "test_%m_%Y.csv")
#[1] "test_11_2020.csv"