我想知道是否有人知道是否可以在R中创建新文件夹并自动将当前日期写入其中,例如新文件夹:" TEST_20140903"?这可能吗?
我尝试做的是将输出(几千个图表)移动到一个新文件夹中,然后每次运行脚本时,当前日期都应该写在扩展名中。
答案 0 :(得分:4)
您可以将dir.create
与paste
和Sys.Date
结合使用,如下所示:
dir.create(paste("Test", Sys.Date(), sep = "_"))
如果要更改到该目录,我建议将paste
的输出存储为字符向量,并在创建新目录后使用setwd
。
演示:
x <- getwd() ## I'm going to demo in a tempdir
setwd(tempdir())
list.dirs()
# [1] "."
# [2] "./downloaded_packages"
# [3] "./rs-graphics-16e13b20-59b3-4ef3-bdcd-02852b1ea576"
newdir <- paste("Test", Sys.Date(), sep = "_")
dir.create(newdir)
setwd(newdir)
list.dirs()
# [1] "."
# [2] "./downloaded_packages"
# [3] "./rs-graphics-16e13b20-59b3-4ef3-bdcd-02852b1ea576"
# [4] "./Test_2014-09-03"
setwd(x) ## Reset to original working directory
您总是可以创建如下所示的函数,但请注意递归!
Today <- function(prefix = "Test") {
newdir <- paste(prefix, Sys.Date(), sep = "_")
dir.create(newdir)
setwd(newdir)
}
可以使用Today()
简单地调用它,并在您当前所在的目录中创建必要的目录,并将您的工作目录设置为该新目录。