【问题标题】:How to use Rstudio relative paths如何使用 Rstudio 相对路径
【发布时间】:2016-08-18 12:02:00
【问题描述】:

如何在RStudio project 环境中使用相对路径?

例如,要访问一个文件,我使用整个路径:

# 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"

其中~ 代表工作环境。不幸的是,它不起作用。

【问题讨论】:

  • 我不明白你的问题。 projects 会帮助您处理您的 wd 吗?
  • 我想在项目内部工作时使用较短的路径。你认为我应该让问题更直接吗?
  • R 中的所有路径都可以相对于工作目录。工作目录由 Rstudio 项目自动设置。例如,我将所有数据保存在/data 文件夹中,当我加载它时,我使用read.table("./data/file.txt"...)
  • @RomanLuštrik 感谢您让我的问题更直接。如果您发布答案,我将关闭问题。
  • 当心。对于用.Rmd 文件编写的代码,工作目录是保存所述.Rmd 文件的目录,即使它与getwd() 的结果不一致。

标签: r path rstudio


【解决方案1】:

您可以更改工作目录。获取开头的地址getwd(),将其替换为您的项目文件夹为setwd()。然后,在访问文件时只需使用read.table("./folder/file.R")

【讨论】:

  • .表示是setwd()命令设置的工作目录。
【解决方案2】:

所谓的here 包对于避免 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 的 "Ode to the here package" 中描述了如何确定项目根目录的位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-10
    • 1970-01-01
    • 2012-10-24
    相关资源
    最近更新 更多