You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R的Quarto中引用其他位置文件失败,求正确实现方法

解决Quarto文件中source上级目录R脚本的问题

你的核心问题是路径匹配错误,加上R对大小写敏感、函数名写错等细节问题,以下是可行的解决方案:

方法1:使用正确的相对路径(推荐)

从level2folder2目录往上退一级(回到root),再进入level2folder,正确的代码是:

source("../level2folder/level2.r")

注意:

  • R的文件路径严格区分大小写,必须和实际文件夹/文件名完全一致(你的实际是小写的level2folder和level2.r,之前的大写写法会导致找不到文件)
  • ../表示当前目录的上一级目录,这是相对路径的关键

方法2:使用绝对路径

如果相对路径仍有问题,可以直接写目标文件的绝对路径,示例:

  • Windows系统:
source("C:/root/level2folder/level2.r")
  • Mac/Linux系统:
source("/Users/你的用户名/root/level2folder/level2.r")

方法3:自动构造鲁棒路径(避免手动写路径出错)

用R内置函数获取当前Quarto文件的位置,自动生成目标路径:

# 获取当前Quarto文件所在目录
current_dir <- dirname(rstudioapi::getSourceEditorContext()$path)
# 拼接目标文件路径
target_script <- file.path(current_dir, "../level2folder/level2.r")
# 加载脚本
source(target_script)

你之前尝试失败的原因:

  • source("level2folder/level2.r"):该路径是从level2folder2目录找同级的level2folder,但实际level2folder在root目录,并非同级,所以找不到
  • Source("~/Level2Folder/Level2.r"):R的函数是小写的source(),不是大写的Source();且大小写和实际文件/文件夹名不符,~/指向用户主目录,不一定是你的root目录位置
  • Source("./ level2Folder/Level2.r"):函数名大写错误;路径中./后多了空格;大小写不符;且./是当前目录(level2folder2),里面不存在level2Folder

内容的提问来源于stack exchange,提问作者dbcoffee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 10:16:03