RStudioプロジェクト 環境で相対パスを使用するにはどうすればよいですか?
たとえば、ファイルにアクセスするには、パス全体を使用します。
# My RStudio project working directory:
getwd()
[1] "C:/Users/MaurizioLocale/OneDrive/Data_Science/10_Capstone_project/
CP_Natural_Language/MY_FILE.txt"
しかし、それは本当に長いです。
作業環境へのパスrelativeを使用しようとしています。私は概念的に似たものを試しました:
"~/MY_FILE.txt"
ここで、~
は作業環境を表します。残念ながら、機能しません。
作業ディレクトリを変更できます。先頭のgetwd()
のアドレスを取得し、プロジェクトフォルダーでsetwd()
に置き換えます。次に、ファイルにアクセスするときは、@ Romanが指摘したread.table("./folder/file.R")
を使用します。
いわゆる here パッケージは、RStudio内(およびRStudioの外部)の絶対パスを回避するのに非常に便利です。 RStudioプロジェクトがあり、ファイル_/data/file.txt
_にアクセスするとします。これは次のように行われます。このように、getwd()
をいじる必要はありません。here()
を使用して、プロジェクトのルートに対して相対的に動作します。
_library(here)
#> here() starts at C:/test/someproject
here("data", "file.txt")
#> "C:/test/someproject/data/file.txt"
readLines(here("data", "file.txt"))
#> "The here package is awesome!"
_
プロジェクトルートの場所をどのように把握するかは、_?here
_と、Jenny Bryanによる "ここへのパッケージ" で説明されています。