kableExtra学习

好长时间没有用markdown制作表格了,这也是一直以来影响使用积极性的因素,不过今天学习了kableExtra,大大增强了继续使用的信心。

kableExtra介绍

这个包的作者朱昊介绍:

kableExtra的目标是帮你搭建以及美化一些常用而又较为复杂的表格。这些表格有个特点,那就是用word 或者excel来做会极其简单,而要用一个编程语言去描述,尤其是对于一些LaTeX初心者(比如当年的我。。),往往会让人绝望。而现在,在这个包的帮助下,我希望你能用一种更为直觉的方式来创建你的表格,把更多的时间花在内容上。而那些排版之类的事情,就留给这个包吧。:)

常用表格学习

好久不用了,这次是第一次学习,先把常用的表格形式整理下,便于后续继续钻研。

基础表格

library(kableExtra)
dt <- mtcars[1:5, 1:6]
kbl(dt)
 

这也就是一个简单的HTML表格,实在是算不上美观。仅仅是这样的话,还是不能很好的体现这个包的优点,下面继续学习。

Bootstrap theme

当生成一个HTML表格时, kable_styling()自动应用Bootstrap theme,

dt %>%
  kbl() %>%
  kable_styling()

另外还有6中主题:kable_classic, kable_classic_2, kable_minimal, kable_material and kable_material_dark。

dt %>%
  kbl(caption = "Recreating booktabs style table") %>%
  kable_classic(full_width = F, html_font = "Cambria")
dt %>%
  kbl(caption = "Recreating booktabs style table") %>%
  kable_classic_2(full_width = F, html_font = "Cambria")

设置字体大小

可以用函数kable_styling() 来调整表格。

kable(head(iris, 5), booktabs = TRUE) %>%
  kable_
styling(font_size =14)

设置指定行/列的格式

kable(head(iris, 5), align = 'c', booktabs = TRUE) %>%
  row_spec(1, bold = TRUE, italic = TRUE) %>% 
  row_spec(2:3, color = 'white', background = 'gray') %>%
  row_spec(4, underline = TRUE, monospace = TRUE) %>% 
  row_spec(5, angle = 45) %>% 
  column_spec(5, strikeout = TRUE)

列与行的格式
column_spec如其名,可以帮你定义某一列或者几列的样式,比如宽度,字体颜色,加粗,斜体等。列的宽度其实尤为重要,这样如果你的表格里有一串巨长的文字,它的格式不会一下被打乱。这个真是有用,已经向好了许多应用场景。

text_tbl <- data.frame(
  Items = c("项目1", "项目2", "项目3"),
  Features = c(
    "春江潮水连海平,海上明月共潮生。滟滟随波千万里,何处春江无月明!
江流宛转绕芳甸,月照花林皆似霰。空里流霜不觉飞,汀上白沙看不见。
江天一色无纤尘,皎皎空中孤月轮。江畔何人初见月?江月何年初照人?",
    "In eu urna at magna luctus rhoncus quis in nisl. Fusce in velit varius, posuere risus et, cursus augue. Duis eleifend aliquam ante, a aliquet ex tincidunt in. ", 
    "Vivamus venenatis egestas eros ut tempus. Vivamus id est nisi. Aliquam molestie erat et sollicitudin venenatis. In ac lacus at velit scelerisque mattis. "
  )
)

kbl(text_tbl) %>%
  kable_paper(full_width = F) %>%
  column_spec(1, bold = T, border_right = T) %>%
  column_spec(2, width = "30em", background = "yellow") %>%   kable_styling(font_size =20)

你可能感兴趣的:(kableExtra学习)