20

我正在尝试使用该bookdown包引用一个表。在表格的文档中,作者只展示了如何使用knitr::kable.

```{r table1}
knitr::kable(
  head(iris, 20), caption = 'Here is a nice table!',
  booktabs = TRUE
)
```

\@ref(tab:table1)在这里。

使用knitr::kable效果很好。显示表格的标题,我可以引用表格。我想对经典的手工降价表做同样的事情,但显然下面的代码失败了。我该怎么做才能获得与上面的代码类似的结果?

```{r table2, echo=FALSE, results='asis'}
cat('| Sepal.Length| Sepal.Width| Petal.Length|
|------------:|-----------:|------------:|
|          5.1|         3.5|          1.4|
|          4.9|         3.0|          1.4|
|          4.7|         3.2|          1.3|
|          4.6|         3.1|          1.5|')
```

\@ref(tab:table2)在这里。

这张图片显示了此代码在编织时的输出。

这个

4

3 回答 3

18

我确实在文档中提到过,但可能还不够清楚。我说你需要表格的标签(\#tab:...)。例如,您可以使用 来引用此表\@ref(tab:foo)

Table: (\#tab:foo) Your table caption.

| Sepal.Length| Sepal.Width| Petal.Length|
|------------:|-----------:|------------:|
|          5.1|         3.5|          1.4|
|          4.9|         3.0|          1.4|
|          4.7|         3.2|          1.3|
|          4.6|         3.1|          1.5|
于 2016-04-21T04:30:27.283 回答
2

我加入讨论有点晚了,但我只是想分享一个有效的 MWE(基于早期的答案):

```{r , echo=FALSE, results='asis'}
  cat(' Table: (\\#tab:mwe) Example

  | Sepal.Length| Sepal.Width| Petal.Length|
  |------------:|-----------:|------------:|
  |          5.1|         3.5|          1.4|
  |          4.9|         3.0|          1.4|
  |          4.7|         3.2|          1.3|
  |          4.6|         3.1|          1.5|')

```

表 @ref(tab:table2) 显示...

于 2019-09-13T13:19:16.083 回答
1

我用以下方法解决了这个问题:

```{r table2 , echo=FALSE, results='asis'}
  cat(' Table: \\label{tab:table2}Example
  
  | Sepal.Length| Sepal.Width| Petal.Length|
  |------------:|-----------:|------------:|
  |          5.1|         3.5|          1.4|
  |          4.9|         3.0|          1.4|
  |          4.7|         3.2|          1.3|
  |          4.6|         3.1|          1.5|')
  
```

如果您编写文本并想引用该表,则可以编写in table \ref{tab:table2} the results are shown.

于 2019-10-07T00:23:05.337 回答