可以像这样引用 knitr 中的图形:
```{r myfig}
plot(1,1)
```
图 \ref{fig:myfig}
显示...
同样的情况对于表来说是不可能的,例如
```{r my_table, results='markup', fig.cap='capture'}
tab <- read.table('my_table.txt', sep = '\t')
kable(tab,
format='pandoc',
digits = 3,
caption =
"Description")
```
表\ref{table:my_table}
显示...
不起作用!是否可以在不深入 latex 的情况下完成这项工作?如果不是,我需要做什么才能使其工作?
最佳答案
使用format='pandoc'
时,您需要在标题中输入\label命令。
使用format='latex'
,引用会自动创建为tab:chunk_label
。例如,
---
output:
pdf_document
tables: true
---
```{r results='markup'}
tab <- head(iris)
knitr::kable(tab,
format='pandoc',
digits = 3,
caption = "Pandoc table\\label{tab:pandoc_table}"
)
```
```{r latex_table, results='markup'}
tab <- head(iris)
knitr::kable(tab,
format='latex',
digits = 3,
caption = "LaTeX table",
booktabs = TRUE
)
```
Table \ref{tab:pandoc_table} was done using Pandoc,
while Table \ref{tab:latex_table} used \LaTeX.
关于使用knitr在R markdown中引用表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40819990/