使用knitr在R markdown中引用表格

标签 r knitr r-markdown

可以像这样引用 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/

相关文章:

r - Rstudio loadNamespace(name)中的Rstudio编织pdf:没有名为'rmarkdown'的软件包

r - knitr 缠结的 R 代码中缺少 block 名称

jekyll Markdown UTF-8

r - 如何按组运行返回向量而不是单个值的函数?

R - 在每一行计算 "row neighbourhood"中仅包含 NA 的列数

r - 将 ggplot2 保存为 .svg 时如何保留文本?

r-markdown - 如何像使用 ioslides 一样获得可移植 Xarginan 演示文稿?

javascript - 使用javascript基于交互式ggplot创建过滤器选择

r - 如何将一系列值(数字)重新编码为因子变量?

r - 根据组的 ggplot 彩色线条,如何不在缺失值之间连接