A menudo me encuentro escribiendo scripts R que generan una gran cantidad de resultados. Me parece más limpio poner esta salida en su propio directorio (s). Lo que he escrito a continuación verificará la existencia de un directorio y se moverá a él, o creará el directorio y luego se moverá a él. ¿Hay una mejor manera de abordar esto?
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()
en el código R, básicamente elimina la idea de usar un directorio de trabajo porque ya no puede mover fácilmente su código entre computadoras.
.bat
archivo que el usuario final nunca tendrá que modificar.
setwd
trabajar con rutas de red. Solo necesita proporcionar rutas para guardar resultados y seguir trabajando con la ruta actual (aquella que se estableció cuando se inició la sesión R). O comience R con el directorio de trabajo deseado.
out_dir <- "path/to/output/directory"
y luego usar write.table(file = file.path(out_dir,"table_1.csv"), ...)
. O incluso out_file <- function(fnm) file.path("path/to/output/directory", fnm)
y luego write.table(file = out_file("table_1.csv"), ...)
(método similar que uso cuando trabajo con unidades de red).