来自 kableExtra 的 row_spec() 函数不会在 html 输出中创建水平线

row_spec() function from kableExtra does not create a horizontal line in html output

我想在我的 kableextra table 的其中一行下面添加一条水平线。 row_spec 函数的参数 hline_after 应该在行下添加水平线:

row_spec documentation

然而,这并没有发生,参数似乎根本没有作用。

示例代码:

x <- knitr::kable(head(mtcars), "html")
kableExtra::row_spec(x, 2, hline_after = TRUE)

有谁知道为什么会发生这种情况,还有另一种方法可以将水平线添加到 table(使用相同的包)。

谢谢

编辑 正如 Lyngbakr 指出的那样,当输出设置为 LaTeX 时该函数有效。

正如 Lyngbakr 在评论中指出的那样,如果输出设置为 html,该函数不使用参数 hline_after。该参数仅对 Latex 输出有用,只是文档中没有明确提及。

source code

使用 hline_after 参数的替代方法是使用 extra_css:

x <- knitr::kable(head(mtcars), "html")
kableExtra::row_spec(x, 2, extra_css = "border-bottom: 1px solid")

但是,在更复杂的表格中,这会与您可能正在使用的其他 row_spec 和 column_spec 调用混淆。