多くの場合、多くの出力を生成する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"), ...)
(ネットワークドライブを操作するときに使用する同様の方法)。