Rstudioでは、ディレクトリ(フォルダ)やファイルの選択ダイアログを表示させることが出来ます。
Mac版とWindows版で仕様が異なります。
コマンド | Mac | Windows | Linux |
---|---|---|---|
ディレクトリ(フォルダ)の選択 | dir.choose() ※関数の定義が必要 | choose.dir() | (未確認) |
ファイルの選択 | file.choose() | choose.files() | (未確認) |
Macの場合
ディレクトリの選択
以下の関数を定義する。osascriptスクリプトを利用している
# directory choose
dir.choose <- function() {
system("osascript -e 'tell app \"RStudio\" to POSIX path of (choose folder with prompt \"Choose Folder:\")' > /tmp/R_folder",
intern = FALSE, ignore.stderr = TRUE)
p <- system("cat /tmp/R_folder && rm -f /tmp/R_folder", intern = TRUE)
return(ifelse(length(p), p, NA))
}
以下のコマンドを実行する
dirname = dir.choose()
ディレクトリ選択ダイアログが開く。ディレクトリを選択する

ディレクトリ名を確認する
> dirname
[1] "/Users/Username/Desktop/tmp/tmp/"
ファイルの選択
Rstudioで以下のコマンドを実行する。file.choose関数は初めから定義されているので、新しく関数を定義する必要はない
filename = file.choose()
ファイル選択ダイアログが開く。ファイルを選択する

以下のコマンドでファイル名を確認する
> filename
[1] "/Users/Username/Desktop/tmp/tmp.txt"
Windowsの場合
ディレクトリの選択
以下のコマンドを実行する
dirname = choose.dir()
ディレクトリ選択ダイアログが開く。ディレクトリを選択する

以下のコマンドでディレクトリを確認する
> dirname
[1] "E:\\tmp"
ファイルの選択
以下のコマンドを実行する
filename = choose.files()
ファイル選択ダイアログが開く。ファイルを選択する

以下のコマンドでファイル名を確認する
> filename
[1] "E:\\tmp\\tmp.txt"
Linuxの場合
未確認です。