Most of what follows is lifted directly from the gt docs.
View code
library(gt)library(tidyverse)library(glue)
S&P 500
View code
# Define the start and end dates for the data rangestart_date <-"2010-06-07"end_date <-"2010-06-14"# Create a gt table based on preprocessed# `sp500` table datasp500 %>%filter(date >= start_date & date <= end_date) %>%select(-adj_close) %>%gt() %>%tab_header(title ="S&P 500",subtitle =glue("{start_date} to {end_date}") ) %>%fmt_date(columns = date,date_style =3 ) %>%fmt_currency(columns =c(open, high, low, close),currency ="USD" ) %>%fmt_number(columns = volume,suffixing =TRUE )
S&P 500
2010-06-07 to 2010-06-14
date
open
high
low
close
volume
Mon, Jun 14, 2010
$1,095.00
$1,105.91
$1,089.03
$1,089.63
4.43B
Fri, Jun 11, 2010
$1,082.65
$1,092.25
$1,077.12
$1,091.60
4.06B
Thu, Jun 10, 2010
$1,058.77
$1,087.85
$1,058.77
$1,086.84
5.14B
Wed, Jun 9, 2010
$1,062.75
$1,077.74
$1,052.25
$1,055.69
5.98B
Tue, Jun 8, 2010
$1,050.81
$1,063.15
$1,042.17
$1,062.00
6.19B
Mon, Jun 7, 2010
$1,065.84
$1,071.36
$1,049.86
$1,050.47
5.47B
Table parts
Preparing the data.
View code
islands_tbl <-tibble(name =names(islands),size = islands ) %>%arrange(desc(size)) %>%slice(1:10)# Create a display table showing ten of# the largest islands in the worldgt_tbl <-gt(islands_tbl)
Heading
View code
# Make a display table with the `islands_tbl`# table; put a heading just above the column labelsgt_tbl <- gt_tbl %>%tab_header(title ="Large Landmasses of the World",subtitle ="The top ten largest are presented" )# Show the gt Tablegt_tbl
Large Landmasses of the World
The top ten largest are presented
name
size
Asia
16988
Africa
11506
North America
9390
South America
6795
Antarctica
5500
Europe
3745
Australia
2968
Greenland
840
New Guinea
306
Borneo
280
Source notes
View code
# Display the `islands_tbl` data with a heading and# two source notesgt_tbl <- gt_tbl %>%tab_source_note(source_note ="Source: The World Almanac and Book of Facts, 1975, page 406." ) %>%tab_source_note(source_note =md("Reference: McNeil, D. R. (1977) *Interactive Data Analysis*. Wiley.") )# Show the gt tablegt_tbl
Large Landmasses of the World
The top ten largest are presented
name
size
Asia
16988
Africa
11506
North America
9390
South America
6795
Antarctica
5500
Europe
3745
Australia
2968
Greenland
840
New Guinea
306
Borneo
280
Source: The World Almanac and Book of Facts, 1975, page 406.
Reference: McNeil, D. R. (1977) Interactive Data Analysis. Wiley.
Footnotes
View code
# Add footnotes (the same text) to two different# cell; data cells are targeted with `data_cells()`gt_tbl <- gt_tbl %>%tab_footnote(footnote ="The Americas.",locations =cells_body(columns = name, rows =3:4) )# Show the gt tablegt_tbl
Large Landmasses of the World
The top ten largest are presented
name
size
Asia
16988
Africa
11506
North America1
9390
South America1
6795
Antarctica
5500
Europe
3745
Australia
2968
Greenland
840
New Guinea
306
Borneo
280
Source: The World Almanac and Book of Facts, 1975, page 406.
Reference: McNeil, D. R. (1977) Interactive Data Analysis. Wiley.
1 The Americas.
More complicated footnotes example:
View code
# Determine the row that contains the# largest landmass ('Asia')largest <- islands_tbl %>%arrange(desc(size)) %>%slice(1) %>%pull(name)# Create two additional footnotes, using the# `columns` and `where` arguments of `data_cells()`gt_tbl <- gt_tbl %>%tab_footnote(footnote =md("The **largest** by area."),locations =cells_body(columns = size,rows = name == largest ) ) %>%tab_footnote(footnote ="The lowest by population.",locations =cells_body(columns = size,rows = size ==min(size) ) )# Show the gt tablegt_tbl
Large Landmasses of the World
The top ten largest are presented
name
size
Asia
1 16988
Africa
11506
North America2
9390
South America2
6795
Antarctica
5500
Europe
3745
Australia
2968
Greenland
840
New Guinea
306
Borneo
3 280
Source: The World Almanac and Book of Facts, 1975, page 406.
Reference: McNeil, D. R. (1977) Interactive Data Analysis. Wiley.
1 The largest by area.
2 The Americas.
3 The lowest by population.
The Stub
View code
# Create a gt table showing ten of the# largest islands in the world; this# time with a stubgt_tbl <- islands_tbl %>%gt(rowname_col ="name")gt_tbl
size
Asia
16988
Africa
11506
North America
9390
South America
6795
Antarctica
5500
Europe
3745
Australia
2968
Greenland
840
New Guinea
306
Borneo
280
Stubhead label
View code
# Generate a simple table with a stub# and add a stubhead labelgt_tbl <- gt_tbl %>%tab_stubhead(label ="landmass")gt_tbl
landmass
size
Asia
16988
Africa
11506
North America
9390
South America
6795
Antarctica
5500
Europe
3745
Australia
2968
Greenland
840
New Guinea
306
Borneo
280
Table with heading, source notes, footnotes, and stub
View code
# Display the `islands_tbl` data with a stub,# a heading, source notes, and footnotesgt_tbl <- gt_tbl %>%tab_header(title ="Large Landmasses of the World",subtitle ="The top ten largest are presented" ) %>%tab_source_note(source_note ="Source: The World Almanac and Book of Facts, 1975, page 406." ) %>%tab_source_note(source_note =md("Reference: McNeil, D. R. (1977) *Interactive Data Analysis*. Wiley.") ) %>%tab_footnote(footnote =md("The **largest** by area."),locations =cells_body(columns = size, rows = largest ) ) %>%tab_footnote(footnote ="The lowest by population.",locations =cells_body(columns = size, rows =contains("arc") ) )# Show the gt tablegt_tbl
Large Landmasses of the World
The top ten largest are presented
landmass
size
Asia
1 16988
Africa
11506
North America
9390
South America
6795
Antarctica
2 5500
Europe
3745
Australia
2968
Greenland
840
New Guinea
306
Borneo
280
Source: The World Almanac and Book of Facts, 1975, page 406.
Reference: McNeil, D. R. (1977) Interactive Data Analysis. Wiley.
1 The largest by area.
2 The lowest by population.
Row groups
View code
# Create three row groups with the# `tab_row_group()` functiongt_tbl <- gt_tbl %>%tab_row_group(label ="continent",rows =1:6 ) %>%tab_row_group(label ="country",rows =c("Australia", "Greenland") ) %>%tab_row_group(label ="subregion",rows =c("New Guinea", "Borneo") )# Show the gt tablegt_tbl
Large Landmasses of the World
The top ten largest are presented
landmass
size
subregion
New Guinea
306
Borneo
280
country
Australia
2968
Greenland
840
continent
Asia
1 16988
Africa
11506
North America
9390
South America
6795
Antarctica
2 5500
Europe
3745
Source: The World Almanac and Book of Facts, 1975, page 406.
Reference: McNeil, D. R. (1977) Interactive Data Analysis. Wiley.
1 The largest by area.
2 The lowest by population.
Column labels
View code
# Modify the `airquality` dataset by adding the year# of the measurements (1973) and limiting to 10 rowsairquality_m <- airquality %>%mutate(Year =1973L) %>%slice(1:10)# Create a display table using the `airquality`# dataset; arrange columns into groupsgt_tbl <-gt(airquality_m) %>%tab_header(title ="New York Air Quality Measurements",subtitle ="Daily measurements in New York City (May 1-10, 1973)" ) %>%tab_spanner(label ="Time",columns =c(Year, Month, Day) ) %>%tab_spanner(label ="Measurement",columns =c(Ozone, Solar.R, Wind, Temp) )# Move the time-based columns to the start of# the column series; modify the column labels of# the measurement-based columnsgt_tbl <- gt_tbl %>%cols_move_to_start(columns =c(Year, Month, Day) ) %>%cols_label(Ozone =html("Ozone,<br>ppbV"),Solar.R =html("Solar R.,<br>cal/m<sup>2</sup>"),Wind =html("Wind,<br>mph"),Temp =html("Temp,<br>°F") )# Show the gt tablegt_tbl
New York Air Quality Measurements
Daily measurements in New York City (May 1-10, 1973)