1. ホーム
  2. r

[解決済み】ディレクトリの存在を確認し、存在しない場合は作成する。

2022-03-24 13:46:50

質問

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))

}

解決方法は?

使用方法 showWarnings = FALSE :

dir.create(file.path(mainDir, subDir), showWarnings = FALSE)
setwd(file.path(mainDir, subDir))

dir.create() は、ディレクトリがすでに存在していてもクラッシュせず、警告を表示するだけです。ですから、警告が表示されることを我慢できるのであれば、これを実行するだけでも問題はないでしょう。

dir.create(file.path(mainDir, subDir))
setwd(file.path(mainDir, subDir))