web-dev-qa-db-ja.com

Rstudio相対パスの使用方法

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"

ここで、~は作業環境を表します。残念ながら、機能しません。

22
Worice

作業ディレクトリを変更できます。先頭のgetwd()のアドレスを取得し、プロジェクトフォルダーでsetwd()に置き換えます。次に、ファイルにアクセスするときは、@ Romanが指摘したread.table("./folder/file.R")を使用します。

20
user3507584

いわゆる 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による "ここへのパッケージ" で説明されています。

3
hplieninger