【R】kableExtra
2021年5月16日
1. はじめに
kableExtraは、HTML形式等で複雑なテーブルを作成してくれるパッケージです。
2. インストール
CRANからインストールできます。
install.packages("kableExtra")
3. つかってみる
最も簡単な使い方はkbl()関数でテーブルを表示することです。
library(kableExtra) kbl(iris[1:10,])

kabel_styling()関数を使用すると見栄え良く成形してくれます。
iris[1:10,] %>% kbl() %>% kable_styling()

また、代替として、kable_paper, kable_classic, kable_classic_2, kable_minimal, kable_materialの6つのテーマもあります。kable_classicの例はこちら。
iris[1:10,] %>% kbl(caption = "Iris Data") %>% kable_classic(full_width = F, html_font = "Cambria")

インラインでグラフも掛けます。
Sepal_Length_list <- split(iris$Sepal.Length, as.factor(iris$Species))
Sepal_Width_list <- split(iris$Sepal.Width, as.factor(iris$Species))
Petal_Length_list <- split(iris$Petal.Length, as.factor(iris$Species))
Petal_Width_list <- split(iris$Petal.Width, as.factor(iris$Species))
inline_plot <- data.frame(Species = c("setosa", "versicolor", "virginica"),
Sepal_Length_box = "",
Sepal_Width_hist = "",
Petal_Length_line = "",
Petal_Width_points = ""
)
inline_plot %>%
kbl(booktabs = TRUE) %>%
kable_paper(full_width = FALSE) %>%
column_spec(2, image = spec_boxplot(Sepal_Length_list)) %>%
column_spec(3, image = spec_hist(Sepal_Width_list)) %>%
column_spec(4, image = spec_plot(Petal_Length_list, same_lim = TRUE)) %>%
column_spec(5, image = spec_plot(Petal_Width_list, type = "p"))

4. さいごに
テーブルってなかなかきれいに書けないので、こういうパッケージがあると大変重宝します。