r - 如何在 RMarkdown 中引用观星者表?
问题描述
似乎不再可以在 RMarkdown 中引用 stargazer 表。
我没有成功地尝试实施 github 页面上发布的涉及此问题的解决方法https://github.com/rstudio/bookdown/issues/175
---
title: "Ref Stargazer Test"
output:
bookdown::html_document2: default
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r results='asis'}
m1 <- lm(mpg ~ cyl + disp, mtcars)
stargazer::stargazer(m1, type = "html", label = "tab:model")
```
Table \@ref(tab:model) should show something on cars.
```{r mytab, results="asis"}
stargazer::stargazer(attitude,
type=ifelse(knitr::is_latex_output(),"latex","html"),
label=knitr::opts_current$get("label"),
title="Stargazer <3 Bookdown")
```
As Table \@ref(tab:mytab) shows, relationships may be hard work but love finds a way.
自 2021 年 7 月起,该引用不起作用(rmarkdown 2.9、bookdown 0.22、stargazer 5.2.2)。
还有另一种可行的解决方法吗?
解决方案
我不知道如何用stargazer
. 我会注意到bookdown
交叉引用是一个相当新的功能,并且stargazer
已经超过 3 年没有更新,所以肯定会出现问题。
一个更现代的选择是包modelsummary
(免责声明:我是维护者)。在我的偏见中,这个包更加灵活和健壮,但是 YMMV。
下面我粘贴了一个带有交叉引用的 Rmarkdown 文档的最小示例。有几点需要注意:
modelsummary
自动检测输出格式,因此您只需在 Rmarkdown 文档顶部的 YAML 标头中指定 LaTeX 或 HTML。无需使用output
of 的参数modelsummary
(但无论如何请查看文档!)。- 表标签由块的名称设置。在这里,它被称为“模型”,因此我们
tab:model
用作交叉引用。 - 您的表格需要一个标题,否则交叉引用将不会始终如一地显示。
---
title: "modelsummary cross-reference test"
output:
bookdown::html_document2: default
---
```{r model}
library(modelsummary)
m1 <- lm(mpg ~ cyl + disp, mtcars)
modelsummary(m1, title = "A table title")
```
Table \@ref(tab:model) should show something on cars.
推荐阅读
- python-3.x - pymongo.MongoClient 在创建实例时没有连接
- kubernetes - 具有 RWO 访问模式的 hostPath PV,用于在多个 pod 之间共享
- go - 在 Go 中取消带有自定义错误的上下文
- c# - UniRx 没有 Observable.Generate() 方法
- asp.net - 在 VB.Net 中使用 ParamArray 传递对象或对象数组作为参数
- php - laravel sql 语句 - 如何在 where isnot 中添加附加子句 - 'where' '!=' OR
- razor - 如何将 depencey 注入模式与自定义外部 .NET 标准 DLL 一起使用
- autohotkey - 即使脚本关闭,Shift 键仍保持按下状态
- jquery - 链接在我的模板上不起作用
- php - 在内部发送 PHP 电子邮件副本(使用密件抄送)