如何根据 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"
我试图防止将来对 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"