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

RMarkdown中引用parameters::print_md生成的表格失败求助

问题:RMarkdown中parameters::print_md()生成的表格无法通过bookdown引用

我在RMarkdown中格式化R的t检验结果时,使用parameters::print_md()可以很好地将结果转为表格,但需要通过\@ref(tab:ttest)这类行内引用方式引用表格,因此采用bookdown::pdf_document2输出PDF。环境为R 4.3.1、macOS Ventura 13.4.1、RStudio 2023.06.0+421、tinytex_0.46。但生成的PDF中引用未被识别,最小复现的.Rmd文件如下:

---
title: "Test {parameters}"
author: "Emily Dickinson"
date: "2023-08-18"
output: 
  bookdown::pdf_document2:
    toc: false
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)

I need to refer to Table @ref(tab:ttest).

library(parameters)
data(mtcars)

# Conduct t-test:
t_out <- t.test(mpg ~ am, data = mtcars)

# Extract parameters and print for Markdown:
parameters::model_parameters(t_out) |> parameters::print_md()

I still need to refer to Table @ref(tab:ttest).

## 解决方案

### 核心原因
`parameters::print_md()`默认输出的Markdown表格没有添加bookdown识别表格引用所需的**标签属性**(即`{#tab:ttest}`),导致bookdown无法建立引用关联。

### 方法1:给`print_md()`指定`caption`和`label`参数
直接在`print_md()`中添加`caption`(表格标题)和`label`(引用标签)参数,让表格自动带上bookdown需要的标识:

```r
```{r ttest}
library(parameters)
data(mtcars)

t_out <- t.test(mpg ~ am, data = mtcars)

parameters::model_parameters(t_out) |> 
  parameters::print_md(caption = "不同变速箱类型的油耗t检验结果", label = "tab:ttest")
### 方法2:用`knitr::kable()`手动生成带标签的表格
如果方法1不生效,可以将`model_parameters()`的结果转为数据框,再用`knitr::kable()`生成符合bookdown要求的表格:

```r
```{r ttest}
library(parameters)
library(knitr)
data(mtcars)

t_out <- t.test(mpg ~ am, data = mtcars)
params_df <- as.data.frame(parameters::model_parameters(t_out))

knitr::kable(params_df, caption = "不同变速箱类型的油耗t检验结果", label = "ttest")
修改后重新编译PDF,`\@ref(tab:ttest)`就能正确识别并显示对应的表格编号。

内容的提问来源于stack exchange,提问作者RTM
相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 07:37:10