渲染Quarto文档时无法调用R包中.R文件的自定义函数
解决Quarto渲染时调用R包内自定义函数的问题
以下是几种可行的解决方式:
方法1:在Quarto文档的代码块中直接调用devtools::load_all()
渲染Quarto文档时会启动独立的R环境,和你手动在控制台运行devtools::load_all()的环境不共享。直接在文档的代码块里加载开发包即可:
devtools::load_all() test_function()
方法2:先安装本地开发包,再用library()加载
如果你不想每次渲染都依赖devtools::load_all(),可以先在控制台执行devtools::install()把本地开发包安装到R库中,之后在Quarto文档里直接加载包:
library(test_package) test_function()
方法3:用setup代码块统一处理包加载
在文档开头添加一个隐藏的setup代码块,专门负责加载开发包,这样后续所有代码块都能直接调用函数:
--- title: "测试文档" --- ```{r setup, include=FALSE} devtools::load_all()
test_function()
### 为什么手动运行`devtools::load_all()`后控制台能调用,但渲染不行? 控制台的R环境和Quarto渲染时创建的独立环境是完全分开的,手动运行的加载操作只作用于控制台环境,不会影响渲染时的新环境,必须在渲染环境内重新加载包。 内容的提问来源于stack exchange,提问作者Quinten
相关产品推荐
相关产品推荐

