I would like to add a horizontal line under one of the rows in my kableextra table. The parameter hline_after for row_spec function is supposed to add the horizontal line under the row:
row_spec documentation
However, this does not happen, the parameter appears to have no effect at all.
Example code:
x <- knitr::kable(head(mtcars), "html")
kableExtra::row_spec(x, 2, hline_after = TRUE)
Does anyone know why this happens and is there another way to add the horizontal line to the table (using the same packages).
Thank you
EDIT As Lyngbakr pointed out, the function works when output is set to LaTeX.
The kable() function in knitr is a very simple table generator, and is simple by design. It only generates tables for strictly rectangular data such as matrices and data frames. You cannot heavily format the table cells or merge cells.
Kable is a 3PL Provider Who Helps E-Retailers, Subscription Box Companies, and Consumer Brands Succeed Wherever You Sell-Your Website, Amazon, or Online Marketplaces.
As Lyngbakr pointed out in the comments, the function does not use the parameter hline_after in case the output is set to html. The parameter is only useful for latex output, it is just not mentioned explicitly in the documentation.
source code
An alternative to using the hline_after parameter is using extra_css:
x <- knitr::kable(head(mtcars), "html")
kableExtra::row_spec(x, 2, extra_css = "border-bottom: 1px solid")
However, in more complicated tables this will mess with other row_spec and column_spec calls that you might be using.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With