【问题标题】:Is it possible to add vertical lines to tables produced with R knitr::kable in pdf?是否可以在 pdf 中使用 R knitr::kable 生成的表格中添加垂直线?
【发布时间】:2019-10-30 20:00:22
【问题描述】:

我想制作一个带有knitr::kable 的表格,在边框和某些列之间有垂直线。有没有办法做到这一点? 我的输出文件是pdf。

谢谢!

【问题讨论】:

    标签: r knitr vertical-alignment kable


    【解决方案1】:

    不太清楚,但也许这会有所帮助:

    library(knitr)
    library(kableExtra)
    library(dplyr)
    
    dt <- mtcars[1:5, 1:6]
    dt %>% 
    kable() %>%
    # here you can add the vertical line, in my example, for all the columns
    column_spec (1:7,border_left = T, border_right = T) %>%
    kable_styling()
    

    如果需要保存为.pdf:

    save_kable(k, "k.pdf")
    

    上面代码的结果是k

    【讨论】:

    • 谢谢。是否可以将这些行扩展到列名和上面添加的带有add_header_abovekable_styling(latex_options =c("repeat_header")) 的标题?
    • 在我的例子中,我在列行之间也得到了列,但作为单独的行停止了。
    • 不客气。不幸的是,这似乎不可能,但也许我对这个包的了解很差。也许你会得到更好的答案等待。
    • 如果你愿意尝试不同的包,huxtable(我的)会这样做。
    • @dash2 太好了,您应该使用您的包在解决方案中添加答案。
    【解决方案2】:

    使用 huxtable 回答:

    library(huxtable)
    library(dplyr)
    
    as_hux(mtcars[1:5, 1:6], add_colnames = TRUE) %>%
          set_right_border(2:5, everywhere, 0.4) %>%
          set_bottom_border(1, everywhere, 0.4)
    

    然后您可以使用quick_pdf() 将其保存为 PDF,或在 rmarkdown 文档中打印。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-28
      • 2021-11-11
      • 1970-01-01
      • 2019-03-05
      • 1970-01-01
      相关资源
      最近更新 更多