好长时间没有用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)