R项目存于OneDrive时如何从.Rproj目录向上跳转访问目标文件夹
R项目跨目录相对路径配置方案
首先明确你的目录层级关系:
- .Rproj项目文件存放路径:
Economy/Scraping/ - 目标文件路径:
Economy/GDP/Indicators/Information/Information Received
两个目录同属Economy父级目录,你只需要从.Rproj所在目录向上跳转1层到父级Economy,再向下定位到目标目录即可,以下两种方案都可以实现:
方案1:使用base R原生相对路径(无需额外安装包)
RStudio打开.Rproj文件时,默认工作目录就是.Rproj所在的Scraping目录,使用../表示向上跳转一层,直接拼接路径即可:
auxiliar_path <- "../GDP/Indicators/Information/Information Received" # 可以运行以下代码验证路径是否正确,正常会列出目标目录下的所有文件 list.files(auxiliar_path)
方案2:正确使用here包实现路径定位
你之前使用here包失败大概率是因为here包默认将.Rproj所在的Scraping目录识别为项目根目录,没有向上跳转层级,两种修正方式:
修正方式1:直接在路径中添加上跳转标识
library(here) auxiliar_path <- here("..", "GDP", "Indicators", "Information", "Information Received")
修正方式2:调整here包的根目录判定(更适合长期协作)
在Economy根目录下新建一个空白的.here文件,之后here包会自动将Economy识别为项目根目录,直接写相对根目录的路径即可,代码可读性更高:
library(here) # 此时here的根是Economy目录,无需再向上跳转 auxiliar_path <- here("GDP", "Indicators", "Information", "Information Received")
注意事项
- 所有协作者必须通过双击.Rproj文件打开项目,保证RStudio的工作目录默认定位到Scraping目录,避免相对路径失效
- 路径中的空格不需要额外转义,R会自动识别处理
内容的提问来源于stack exchange,提问作者Paula
相关产品推荐
相关产品推荐

