我经常发现自己写的R脚本会产生大量输出。我发现它更干净,可以将此输出放到自己的目录中。我在下面编写的内容将检查目录是否存在并移入该目录,或者创建目录然后移入该目录。有没有更好的方法来解决这个问题?
mainDir <- "c:/path/to/main/dir"
subDir <- "outputDirectory"
if (file.exists(subDir)){
setwd(file.path(mainDir, subDir))
} else {
dir.create(file.path(mainDir, subDir))
setwd(file.path(mainDir, subDir))
}
setwd()
在R代码中使用-它基本上使您无法使用工作目录,因为您再也无法在计算机之间轻松移动代码了。
.bat
最终用户永远不必修改的文件。
setwd
使用网络路径。您只需要提供路径即可保存结果并仍然使用当前路径(R会话启动时建立的路径)。或者以所需的工作目录开始R。
out_dir <- "path/to/output/directory"
,然后使用write.table(file = file.path(out_dir,"table_1.csv"), ...)
。甚至out_file <- function(fnm) file.path("path/to/output/directory", fnm)
然后write.table(file = out_file("table_1.csv"), ...)
(使用网络驱动器时使用的类似方法)。