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

基于Tibble逐行渲染参数化R Markdown文档报错求助

参数化R Markdown批量渲染报错排查与修复

运行代码时触发如下错误:

Error in `pmap()`:
ℹ In index: 1.

无法正常读取传入的参数,以下是测试代码:

测试文件:ReportGenTest.R

# Report Gen Test
library(tidyverse)
library(rlang)
df.data <- tribble(
  ~EmplId, ~Name, ~Gender,
  "146193", "Tony","M",
  "146194", "Bob","M",
  "146195", "Sarah","F"

)

df.report <- df.data |>
  mutate(output_file = stringr::str_c('Report_', EmplId, '_', Name, '.pdf'),
         params = map(EmplId, ~list(my_emplid = .))) %>%
  select (output_file, params)



df.report %>%
#  select(output_file, params) %>%
  purrr::pwalk(rmarkdown::render,
               input = "ReportGenTest.Rmd")

测试文件:ReportGenTest.Rmd

---
title: "ReportGenTest"
author: "Tony Jones"
date: "`r Sys.Date()`"
output: html_document
params:
  my_emplid: "146193"
---

```{r setup, include=FALSE}

# library(tidyverse)
 knitr::opts_chunk$set(echo = TRUE)
# 
# e % 
#   filter(EmplId == params$my_emplid)

Hi r params$my_emplid
### 问题原因与修复
1. **输出格式冲突**:Rmd文件指定输出为`html_document`,但R脚本中`output_file`用了`.pdf`后缀,格式不匹配导致渲染失败。
2. **可选优化**:参数映射时用`.x`替代`.`,代码可读性更强。

#### 方案1:生成HTML报告(修改R脚本)
调整`output_file`的后缀为`.html`,同时明确`pwalk`的参数传递逻辑:
```r
# Report Gen Test
library(tidyverse)
library(rlang)
df.data <- tribble(
  ~EmplId, ~Name, ~Gender,
  "146193", "Tony","M",
  "146194", "Bob","M",
  "146195", "Sarah","F"
)

df.report <- df.data |>
  mutate(
    output_file = stringr::str_c('Report_', EmplId, '_', Name, '.html'),
    params = map(EmplId, ~list(my_emplid = .x))
  ) %>%
  select(output_file, params)

df.report %>%
  purrr::pwalk(function(output_file, params) {
    rmarkdown::render(
      input = "ReportGenTest.Rmd",
      output_file = output_file,
      params = params
    )
  })

方案2:生成PDF报告(修改Rmd)

如果需要PDF输出,修改Rmd的YAML配置为pdf_document,同时确保环境已安装LaTeX(如TinyTeX):

---
title: "ReportGenTest"
author: "Tony Jones"
date: "`r Sys.Date()`"
output: pdf_document
params:
  my_emplid: "146193"
---

修改后即可正常批量生成参数化报告,每个报告都会正确显示传入的my_emplid值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 13:35:25