Costumo me escrever scripts R que geram muita saída. Acho mais limpo colocar essa saída em seu próprio diretório (s). O que eu escrevi abaixo verificará a existência de um diretório e será movido para ele, ou criará o diretório e depois será movido para ele. Existe uma maneira melhor de abordar isso?
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()
código R - basicamente derrota a idéia de usar um diretório ativo porque não é mais possível mover seu código facilmente entre computadores.
.bat
arquivo que o usuário final nunca precisará modificar.
setwd
trabalhar com caminhos de rede. Você só precisa fornecer caminhos para salvar resultados e ainda trabalhar com o caminho atual (aquele que é estabelecido quando a sessão do R foi iniciada). Ou inicie R com o diretório de trabalho desejado.
out_dir <- "path/to/output/directory"
e use write.table(file = file.path(out_dir,"table_1.csv"), ...)
. Ou mesmo out_file <- function(fnm) file.path("path/to/output/directory", fnm)
e então write.table(file = out_file("table_1.csv"), ...)
(método semelhante que eu uso ao trabalhar com unidades de rede).