Mi ritrovo spesso a scrivere script R che generano molto output. Trovo più pulito inserire questo output nella propria directory. Ciò che ho scritto di seguito verificherà l'esistenza di una directory e si sposterà in essa, oppure creerà la directory e quindi si sposterà in essa. C'è un modo migliore per affrontare questo?
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()
nel codice R - fondamentalmente sconfigge l'idea di usare una directory di lavoro perché non puoi più spostare facilmente il tuo codice tra i computer.
.bat
file che l'utente finale non dovrà mai modificare.
setwd
lavorare con i percorsi di rete. Devi solo fornire percorsi per salvare i risultati e continuare a lavorare con il percorso corrente (quello che viene stabilito all'avvio della sessione R). Oppure avvia R con la directory di lavoro desiderata.
out_dir <- "path/to/output/directory"
e quindi utilizzare write.table(file = file.path(out_dir,"table_1.csv"), ...)
. O anche out_file <- function(fnm) file.path("path/to/output/directory", fnm)
e poi write.table(file = out_file("table_1.csv"), ...)
(metodo simile che uso quando lavoro con le unità di rete).