用knitr引用R markdown中的表格

时间:2016-11-26 15:37:47

标签: 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}显示......

不起作用!是否有可能在不挖掘乳胶的情况下完成这项工作?如果不是,我需要做些什么来使其发挥作用?

2 个答案:

答案 0 :(得分:0)

使用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.

答案 1 :(得分:0)

用标签\@ref(tab:my_table)替换表