rmarkdown 中 plot(glm) 的数字编号

Numbering figures of plot(glm) in rmarkdown

我创建了一个 Rmarkdown 文件并想为我的数字编号。我正在苦苦挣扎的是,如果 plot 给我几个输出,比如 plot("glm Object")?

这是一个最小的例子:

---
documentclass: article
output: pdf_document
---

```{r setup, include = FALSE}
knitr::opts_chunk$set(fig.path = 'figures/', fig.pos = 'htb!', echo = TRUE)
```

```{r, fig.cap = "Test"}
data(warpbreaks)
daten <- as.data.frame(warpbreaks)
test <- glm(breaks ~ tension + wool , family = "poisson", data = daten)
plot(test)
```

您可以使用 Rmarkdown 的 lesser-known 功能并为子图添加标题:https://whosebug.com/a/49086985/7347699

以你的例子为例:

---
documentclass: article
output: pdf_document
header-includes:
   - \usepackage{subfig}
---

```{r setup, include = FALSE}
knitr::opts_chunk$set(fig.path = 'figures/', fig.pos = 'htb!', echo = TRUE)
```

```{r, fig.cap = "Test",  fig.subcap=c('sub 1', 'sub 2', 'sub 3', 'sub 4'), out.width='.49\linewidth', fig.asp=1, fig.ncol = 2}
data(warpbreaks)
daten <- as.data.frame(warpbreaks)
test <- glm(breaks ~ tension + wool , family = "poisson", data = daten)
plot(test)
```

替代方法

绘制多个 R 图的一种可能更简单的方法是在绘制之前使用 par 函数。这样做的好处是简单,你不需要在 header 中加载额外的 LaTeX 包。但是,不可能为每个图添加 sub-caption。

---
documentclass: article
output: pdf_document
---

```{r, fig.cap = "Test", fig.asp = 1}
data(warpbreaks)
daten <- as.data.frame(warpbreaks)
test <- glm(breaks ~ tension + wool , family = "poisson", data = daten)

par(mfrow = c(2, 2))
plot(test)
```