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

如何将外部文件中的R代码片段引入Quarto文档?

在Quarto中替代knitr::read_chunk()的方案

Quarto提供了纯代码块参数的方式实现类似knitr::read_chunk()的功能,同时也兼容原knitr函数,以下是具体方案:

1. 分段引入外部代码(精准匹配代码段)

如果需要像read_chunk()那样,将外部R文件中的特定代码段引入文档不同位置,可按以下步骤操作:

  • 先在外部文件Ch02.R中给目标代码段添加标签(格式为# ---- 标签名 ----):
    # ---- data-loading ----
    data(mtcars)
    head(mtcars)
    
    # ---- model-fitting ----
    model <- lm(mpg ~ wt, data = mtcars)
    summary(model)
    
  • 在Quarto文档中,通过code-ref参数指定要引入的标签,配合file参数指定外部文件路径:
    #| eval: true
    #| code-ref: data-loading
    #| file: Ch02.R
    
    可根据需求添加echo: false(隐藏代码)、output: false(隐藏输出)等参数。

2. 一次性引入并执行整个外部文件

如果要一次性执行外部文件的所有代码,同时控制代码和输出的显示,调整参数即可:

#| eval: true
#| echo: false    # 隐藏代码本身
#| output: false  # 隐藏执行输出
#| file: Ch02.R

你之前的配置未达预期,是因为误将echo(控制代码显示)和output(控制输出显示)混淆,output: false仅隐藏执行结果,若要隐藏代码需添加echo: false。

3. 兼容原knitr函数

Quarto底层仍依赖knitr处理R代码,所以你完全可以继续使用knitr::read_chunk("Ch02.R"),无需强制替换,两种方式可并行使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 20:05:13