5

我正在尝试使用 kable/kableextra 创建一个表,而不显示表中的水平线,但第一行是行名。

```
{r echo=FALSE}
library(knitr)
library(kableExtra)
options(knitr.kable.NA = '')
dt <- mtcars[1:5, 1:6]
kable(dt, "html") %>%
  kable_styling(full_width = F, position = "left") %>%
  row_spec(0, align = "c",bold=T ) %>%
  column_spec(1, bold = T)
```

在上面的代码中,第一行下方有一行,我喜欢它,因为这些是行名,但是每一行之间都有我想删除的行。

理想情况下,我希望在此表底部的顶部有一条稍粗的线。类似于 LaTeX 中的 booktabs 外观。

我已阅读文档,但 CSS 超出了我的范围。

感谢您的任何建议。

4

2 回答 2

4

你需要的是在booktabs = T里面设置参数kable。在您的示例中,只需更改以下代码行:

kable(dt, "html") 

至:

kable(dt, "html", booktabs = T)

干杯!

于 2018-06-12T06:58:20.260 回答
2

您可以在html文档中包含一个LaTeX表格作为图像,但您需要一个完整的LaTeX 发行版(不是 tinytex)和 R 包magick(如果您在 Windows 上,则需要 +Ghostscript)。

代替

kable(dt, "html") %>%

kable(dt, "latex", booktabs=T) %>%

并添加

  kable_as_image()

作为最后一行(不要忘记管道符号)。以下代码适用于我:

```{r echo=FALSE}
library(knitr)
library(kableExtra)
options(knitr.kable.NA = '')
dt <- mtcars[1:5, 1:6]
kable(dt, "latex", booktabs=T) %>%
  kable_styling(full_width = F, position = "left") %>%
  row_spec(0, align = "c",bold=T ) %>%
  column_spec(1, bold = T) %>%
  kable_as_image()
```

参考:参见第 24 页:
https ://cran.r-project.org/web/packages/kableExtra/vignettes/awesome_table_in_pdf.pdf

于 2018-07-12T13:31:28.443 回答