私は R でいくつかのチュートリアルを作成中です。各 R コードは特定のフォルダーに含まれています。そこにはデータ ファイルとその他のファイルがあります。.r
以下に示すように、Rstudio で作業ディレクトリを変更する必要がないように、ファイルを開いてソースを取得したいと考えています。
R で作業ディレクトリを自動的に指定する方法はありますか。
ベストアンサー1
ソース化されるスクリプトの場所を取得するには、utils::getSrcDirectory
または を使用できますutils::getSrcFilename
。これらには、入力として関数が必要です。次の行を含むスクリプトを作成し、ソース化して使用方法を確認します。
print(utils::getSrcDirectory(function(){}))
print(utils::getSrcFilename(function(){}, full.names = TRUE))
作業ディレクトリを現在のファイルのディレクトリに変更するには、次のコマンドを実行します。
setwd(getSrcDirectory(function(){})[1])
これはRStudioでは機能しません。走るコードではなくソースそれをするには、 を使用する必要がありますrstudioapi::getActiveDocumentContext
。
setwd(dirname(rstudioapi::getActiveDocumentContext()$path))
もちろん、この 2 番目のソリューションでは、IDE として RStudio を使用する必要があります。