Это возможно, но это немного сложно.
Проблема в том, что пакет table1
не поддерживает метки в форме, которую ищет Pando c, поэтому вам нужно указать их вручную. Однако table1
отмечает свой вывод таким образом, чтобы Pando c игнорировал добавления, которые вы должны сделать. Таким образом, вам нужно сделать два обходных пути в следующем:
- Добавьте заголовок в таблицу, используя аргумент
caption
для table1()
. - В начале заголовка, включить специальный код, например
(\\#tab:thetablename)
, где вы заменяете thetablename
уникальной строкой по вашему выбору. - Оберните вызов функции
table1()
в knitr::asis_output()
.
Используя один из примеров со страницы справки ?table1
,
```{r echo=FALSE}
library(table1)
dat <- expand.grid(id=1:10, sex=c("Male", "Female"), treat=c("Treated", "Placebo"))
dat$age <- runif(nrow(dat), 10, 50)
dat$age[3] <- NA # Add a missing value
dat$wt <- exp(rnorm(nrow(dat), log(70), 0.2))
label(dat$sex) <- "Sex"
label(dat$age) <- "Age"
label(dat$treat) <- "Treatment Group"
label(dat$wt) <- "Weight"
units(dat$age) <- "years"
units(dat$wt) <- "kg"
knitr::asis_output(table1(~ sex + age + wt | treat, data=dat,
caption = "(\\#tab:thetab)The caption"))
```
, где последний оператор содержит обе модификации. Это дает результат (в формате bookdown::html_document2
), который выглядит следующим образом:
, и я мог бы ссылаться на таблицу по номеру, используя \@ref(tab:thetab)
в других частях текста.