【R】gt

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で直接きれいに出力できるので、便利ですね!

Add a Comment

メールアドレスが公開されることはありません。