是否可以使用html选项删除Kable kableextra中的水平线?

时间:2018-03-20 16:36:12

标签: r kable kableextra

我正在尝试使用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中的书签。

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

感谢您的任何建议。

2 个答案:

答案 0 :(得分:1)

您可以在 html 文档中包含一个 LaTeX 表作为图像,但是您需要一个 complete 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

答案 1 :(得分:0)

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

kable(dt, "html") 

为:

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

干杯!