Saya sering menemukan diri saya menulis skrip R yang menghasilkan banyak output. Saya merasa lebih bersih untuk menempatkan output ini ke dalam direktori itu sendiri. Apa yang saya tulis di bawah ini akan memeriksa keberadaan direktori dan pindah ke dalamnya, atau membuat direktori dan kemudian pindah ke dalamnya. Apakah ada cara yang lebih baik untuk mendekati ini?
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()
kode R - itu pada dasarnya mengalahkan ide untuk menggunakan direktori yang berfungsi karena Anda tidak lagi dapat dengan mudah memindahkan kode di antara komputer.
.bat
file yang tidak akan pernah diubah oleh pengguna akhir.
setwd
bekerja dengan jalur jaringan. Anda hanya perlu memberikan jalur untuk menyimpan hasil dan masih bekerja dengan jalur saat ini (yang ditetapkan saat sesi R dimulai). Atau mulai R dengan direktori kerja keinginan.
out_dir <- "path/to/output/directory"
lalu gunakan write.table(file = file.path(out_dir,"table_1.csv"), ...)
. Atau bahkan out_file <- function(fnm) file.path("path/to/output/directory", fnm)
kemudian write.table(file = out_file("table_1.csv"), ...)
(metode yang sama saya gunakan ketika bekerja dengan drive jaringan).