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

使用Quarto/R Markdown批量生成报告报错:object 'Name' not found

解决批量生成Quarto报告时的"object 'Name' not found"错误

问题根源

你的rmarkdown::render()调用存在参数传递错误:rmarkdown::pdf_document()未指定对应参数名,被错误当作第三个位置参数(该位置实际为output_dir),导致params参数未被渲染引擎正确识别,最终模板无法读取params$Name。

另外注意example_report.qmd中声明的输出格式是html,但你试图生成PDF文件,二者需要统一。

修正后的代码

Reference.qmd(修正版)

name <- c("abc", "def")

for (i in name) {
  rmarkdown::render(
    input = "example_report.qmd",
    output_file = paste0("report_", i, "_", Sys.Date(), ".pdf"), 
    output_format = rmarkdown::pdf_document(), # 明确指定output_format参数
    params = list(Name = i)
  )
}

example_report.qmd(可选调整,统一输出格式)

若要确保模板默认支持PDF输出,可修改头部格式声明:

---
title: "Report for `r params$Name`"
format: pdf # 改为pdf,与渲染目标一致
params:
  Name: "default Name"
---

## Quarto

This is a report for `r params$Name`. This person is fabulous. 

验证说明

修正后,render函数会正确接收params参数并传递给模板,params$Name可正常读取循环中的i值,批量生成对应名称的PDF报告。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 04:14:54