【R】gt
2020年11月4日
1. はじめに
表データを見やすくきれいに表示できるパッケージがgt
です。コンセプトは、”Grammar of tables”で”Grammar of Graphics”のggplotと同じく、記述することで表の体裁を整えることができます。
2. インストール
CRANからインストールできます。
install.packages("gt")
3. 使ってみる。
まずは、例にあるものをそのまま試してみます。
library(gt) library(tidyverse) library(glue) # Define the start and end dates for the data range start_date <- "2010-06-07" end_date <- "2010-06-14" # Create a gt table based on preprocessed # `sp500` table data sp500 %>% dplyr::filter(date >= start_date & date <= end_date) %>% dplyr::select(-adj_close) %>% gt() %>% tab_header( title = "S&P 500", subtitle = glue::glue("{start_date} to {end_date}") ) %>% fmt_date( columns = vars(date), date_style = 3 ) %>% fmt_currency( columns = vars(open, high, low, close), currency = "USD" ) %>% fmt_number( columns = vars(volume), suffixing = TRUE )
おお、きれい!
別の表も作ってみます。gt
で表の保存もできます。
data("diamonds") diamonds_tbl <- diamonds %>% select(-x, -y, -z) %>% group_by(cut) %>% summarise(mean=mean(price)) %>% gt() %>% tab_header( title = "Diamond price" ) %>% fmt_currency( columns = vars(mean), currency = "USD" ) diamonds_tbl gtsave(diamonds_tbl, "table.png")
html形式でも出力できます。
gtsave(diamonds_tbl, "table.html")
Diamond price | |
---|---|
cut | mean |
Fair | $4,358.76 |
Good | $3,928.86 |
Very Good | $3,981.76 |
Premium | $4,584.26 |
Ideal | $3,457.54 |
4. さいごに
今まで、表はExcelで作ってましたが、これならR
で直接きれいに出力できるので、便利ですね!