如何在Quarto文件中访问R会话已创建的变量?
Quarto访问外部R对象的简便方案
由于Quarto默认启动独立R会话,无法直接读取调用quarto_render前创建的对象,除了存储为rds文件,还有两种更直接的方式:
1. 通过envir参数传递全局环境
调用quarto::quarto_render时,指定envir参数为当前全局环境,让qmd会话直接继承所有已创建的R对象:
var1 = 5 quarto::quarto_render(input = "Audit.qmd", envir = .GlobalEnv)
之后在Audit.qmd中可直接使用var1:
--- title: "审计报告" format: html --- var1的取值为:`r var1`
2. 用rmarkdown::render兼容渲染
如果更习惯Rmarkdown的环境继承逻辑,可直接用rmarkdown::render渲染Quarto文件,它会自动共享当前环境的对象:
var1 = 5 rmarkdown::render(input = "Audit.qmd")
注意:第一种方法是Quarto官方推荐的标准方式,既能保留Quarto的跨语言特性,又能实现对象共享;第二种适合过渡场景,但部分Quarto专属功能可能无法完全生效。
内容的提问来源于stack exchange,提问作者explorer
相关产品推荐
相关产品推荐

