9  Criação de Tabelas com GT

9.1 Introdução

A seguir temos vários exemplos de criação de tabelas utilizando o pacote GT do R. Este é um pacote muito flexível para gerar diversos tipos de tabelas. Diferente do que vimos até aqui, o termo tabela, não diz respeito somente às tabelas de dados, mas sim, como o produto final da visualização dos dados. São como as tabelas que vemos em artigos científicos ou nos relatórios e jornais.

Nota

Apesar de não haver ainda uma Folha de Referência para este pacote, entendemos que a criação de tabelas, assim como os gráficos ajudam a explicar ou contar uma história sobre os dados que estamos manipulando.

Para saber mais sobre este pacote, acesse:

https://cran.r-project.org/package=gt.

Aviso

Para melhor utilizar este material, é importante que você tenha uma introdução à linguagem R e saiba carregar pacotes (packages) no R. Para mais informações acesse:

https://education.rstudio.com/learn/beginner/.

Para os exemplos, iremos carregar os seguintes pacotes:

  • tidyverse

  • gt

  • glue

  • lubridate

library (tidyverse)
library (gt)
library (glue)
library (lubridate)

9.2 Anatomia de uma tabela

O pacote gt segue uma filosofia similar ao pacote ggplot2 para gráficos, ou seja, criamos um objeto gt a partir de uma tabela de dados e atraveś de camadas vamos complementando ou alterando até chegar no resultado final. A saída pode ser em formato HTML, RTF, PNG ou LaTex.

Para este pacote, uma tabela possui as seguintes partes:

9.3 Dados

O pacote GT vem com alguns conjuntos de dados que iremos utilizar para demonstrar algumas das funcionnalidades deste pacote. Iremos trabalhar com a tabela chamada “sp500”.

# Este conjunto de dados possui entradas diárias da bolsa S&P 500 de 1950 até 2015
sp500

Para gerar uma tabela com o pacote gt, basta termos um data frame que passamos como entrada para a função gt(). Neste exemplo, iremos filtrar apenas os dias da segunda quinzena de Dezembro de 2010.

#Filtrando dez de 2010
sp500a <- sp500 |> filter(date <= "2010-12-31" & date > "2010-12-15" )  

#Criando o objeto gt
sp500a |> gt()
date open high low close volume adj_close
2010-12-31 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87

Aqui já temos um objeto gt formatando uma tabela. Nada mal para uma simples função, não é mesmo?

Mas em geral, as tabelas de relatórios precisam de alguns ajustes.

9.4 Cabeçalho e Rodapé

Vamos começar com o cabeçalho:

9.4.0.1 gt_header

Use esta função para definir o Título e o Sub-Título da tabela:

sp500a |> 
  gt() |> 
  tab_header(title = "SP&500 - 2a Quinzena de Dezembro de 2010",
             subtitle = "Operações diárias da SP&500 durante a 2a Quinzena de Dezembro de 2010")
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante a 2a Quinzena de Dezembro de 2010
date open high low close volume adj_close
2010-12-31 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87
Dica

Você pode estilizar o texto da área de cabeçalho usando marcadores (markdown) com a função md() ou html com a função html().

gt_tbl <- 
  sp500a |> 
  gt() |> 
  tab_header(title = md("**SP&500 - 2a Quinzena de Dezembro de 2010**"),
             subtitle = html("Operações <i>diárias</i> da SP&500 durante <b>2a Quinzena</b> de <i>Dezembro de 2010</i>"))

gt_tbl
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
date open high low close volume adj_close
2010-12-31 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87

Agora vejamos os items do rodapé:

9.4.0.2 tab_source_note

Na área de rodapé, podemos descrever a Fonte dos dados. Veja o exemplo:

gt_tbl <- gt_tbl |> 
  tab_source_note(
    source_note = md("**Fonte**: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. *https://gt.rstudio.com/, https://github.com/rstudio/gt*")
  )

gt_tbl
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
date open high low close volume adj_close
2010-12-31 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt

9.4.0.3 tab_footnotes

Use para adicionar notas de rodapé. Como precisaremos informar onde a referência da nota de rodapé irá aparecer, iremos usar a função auxiliar cell_body() com seu argumento de localização (location).

A função cell_body() possui dois argumento (columns e rows) (colunas e linhas). Para cada um desses argumento podemos passar:

  1. Um vetor de colunas e linhas

  2. Um vetor de colunas e índices de linhas

  3. Títulos das colunas ou linhas usando c()

  4. Uma função auxiliar seleção (starts_with(), ends_with(), contains(), matches() one_of() ou everything()).

No exemplo abaixo, iremos incluir uma nota de rodapé, referenciada na coluna “date” e na linha 1.

gt_tbl <- gt_tbl |> 
  tab_footnote(
    footnote = "Último dia do mês",
    location = cells_body(columns = date, rows = 1)
  )

gt_tbl
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
date open high low close volume adj_close
2010-12-311 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Último dia do mês

Vejamos um exemplo um pouco mais complexo adicoinando nota de rodapé.

Vamos usar a função para dinamicamente encontrar o dia que a bolsa abriu (coluna open) com o maior e menor valor (high e low) e colocar uma nota de rodapé nestes dias.

Há formas mais simples de fazer esta operação, mas vamos deixá-las assim por ser mais didático.

abertura <- 
  sp500a |> arrange(desc(open)) |> pull(open) 

gt_tbl <- gt_tbl |> 
  tab_footnote(
    footnote = md("**Maior** abertura do mês"),
    location = cells_body(columns = open, rows = open == max(abertura))
  ) |> 
  tab_footnote(
    footnote = md("**Menor** abertura do mês"),
    location = cells_body(columns = open, rows = open == min(abertura))
  )

gt_tbl
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
date open high low close volume adj_close
2010-12-311 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 2 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 3 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Último dia do mês
2 Maior abertura do mês
3 Menor abertura do mês

9.5 Resumo

A área de resumo (stub) é a área ao lado esquerdo da tabela que contém títulos das linhas e pode conter o título do grupo de linhas ou título do resumo.

O topo do resumo fornece a localização para um título que descreve o resumo.

A área de resumo (stub) é uma área opcional, já que temos casos onde ele pode não ser útil. Por exemplo, na tabela apresentada até aqui, não temos a área de resumo definida.

Um jeito fácil de criar uma área de resumo é usar o argumento “rownname_col=” da função gt():

gt_tbl <- sp500a |> 
  gt(rowname_col = "date")

gt_tbl
open high low close volume adj_close
2010-12-31 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87
Nota

Notou que a datas à esquerda da tabela foram movidas para uma área nova fora das colunas? Esta é a área de resumo.

9.5.0.1 tab_stubhead

Nós podemos aplicar o título para o topo da área de resumo:

gt_tbl <- gt_tbl |> 
  tab_stubhead(label = "Período")

gt_tbl
Período open high low close volume adj_close
2010-12-31 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87

Vamos juntar tudo que vimos até o momento com o código abaixo:

abertura <-
  sp500a |> arrange(desc(open)) |> pull(open)

gt_tbl <-
  sp500a |>
  gt(rowname_col = "date") |>
  
  tab_header(title = md("**SP&500 - 2a Quinzena de Dezembro de 2010**"),
             subtitle = md("Operações *diárias* da SP&500 durante **2a Quinzena** de *Dezembro de 2010*")) |> 
  
  tab_source_note(
    source_note = md("**Fonte**: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. *https://gt.rstudio.com/, https://github.com/rstudio/gt*")
  ) |> 
  
  tab_footnote(
    footnote = "Último dia do mês",
    location = cells_body(columns = date, rows = 1)
  ) |> 
  
  tab_footnote(
    footnote = md("**Maior** abertura do mês"),
    location = cells_body(columns = open, rows = open == max(abertura))
  ) |>
  
  tab_footnote(
    footnote = md("**Menor** abertura do mês"),
    location = cells_body(columns = open, rows = open == min(abertura))
  ) |> 
  
  tab_stubhead(label = "Dias no Período")

gt_tbl
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Dias no Período open high low close volume adj_close
2010-12-31 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 1 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 2 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês
Cuidado

Como movemos a coluna “date” para a área de resumo, a primeira coluna referenciada pela função cells-body() é a coluna “open”.

9.5.0.2 tab_row_group

Podemos agrupar linhas em grupos utilizando a função tab_row_group(). Veja este exemplo onde criaremos dois grupos de forma manual. O primeiro referenciando os índices das linhas e o outro usando a função auxilar “contains()” para referenciar as linhas pelos nomes:

gt_tbl |> 
  
  tab_row_group(
    label = "5 últimos dias",
    rows = 1:5
  ) |> 
  
  tab_row_group(
    label = "Demais dias do período",
    rows = contains(
      as.character.Date(
      c(seq.Date(from = as.Date("2010-12-16"), 
               to = as.Date("2010-12-23"), 
               by= "day"))))
)
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Dias no Período open high low close volume adj_close
Demais dias do período
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 1 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87
5 últimos dias
2010-12-31 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 2 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Menor abertura do mês
2 Maior abertura do mês
Dica

Um outro jeito de utilizar os grupos de linhas, é agrupando antes na tabela de dados. Se tivéssemos em nossa tabela de dados uma coluna que identificasse os último 5 dias do período e os demais dias, poderíamos informá-la para a função gt() através do argumento “groupname_col =” e elas seriam automaticamente adicionadas à área de resumo. Com esta abordagem, não precisaríamos definí-las usando tab_row_group().

Veja este exemplo. Iremos criar uma coluna chamada “ultimos 5 dias” através de funções de manipulação de dados do pacote dplyr.

ultimo_dia <- max(sp500a$date)
quinto_dia_anterior <- ultimo_dia - ddays(5) 

sp500a <- sp500a |> 
  mutate(ultimos_5_dias = case_when(
                                    date >= quinto_dia_anterior & 
                                    date <= ultimo_dia ~ "Últimos 5 dias",
                                    TRUE ~ "Demais dias do período"
),) |> group_by(ultimos_5_dias)

sp500a

Agora que temos esta nova coluna, iremos usá-la em nossa função gt() no argumento groupname_col =.

Observe também que não precisamos da coluna que foi agrupada para gerar nossa tabela. Para demonstrar isso, usaremos a função select() para removê-la.

abertura <-
  sp500a |> arrange(desc(open)) |> pull(open)

gt_tbl <-
  sp500a |> 
  select(-ultimos_5_dias) |>
  gt(rowname_col = "date",
     groupname_col = "ultimos_5_dias") |>
  
  tab_header(title = md("**SP&500 - 2a Quinzena de Dezembro de 2010**"),
             subtitle = md("Operações *diárias* da SP&500 durante **2a Quinzena** de *Dezembro de 2010*")) |> 
  
  tab_source_note(
    source_note = md("**Fonte**: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. *https://gt.rstudio.com/, https://github.com/rstudio/gt*")
  ) |> 
  
  tab_footnote(
    footnote = "Último dia do mês",
    location = cells_body(columns = date, rows = 1)
  ) |> 
  
  tab_footnote(
    footnote = md("**Maior** abertura do mês"),
    location = cells_body(columns = open, rows = open == max(abertura))
  ) |>
  
  tab_footnote(
    footnote = md("**Menor** abertura do mês"),
    location = cells_body(columns = open, rows = open == min(abertura))
  ) |> 
  
  tab_stubhead(label = "Dias no Período")

gt_tbl
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Dias no Período open high low close volume adj_close
Últimos 5 dias
2010-12-31 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 1 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
Demais dias do período
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 2 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês

Veja que não precisamos de neum código na tab_row_group para agrupar.

9.5.0.3 summary_rows

Para adicionar linhas de resumo na seção de resumo, usamos a função summary_rows(). Pense nestas linhas, como linhas que resumem as linhas do grupo associado. Podemos usá-las, por exemplo para criar linhas de sub-totais ou outras informações relevantes para cada grupo.

Vejamos este exemplo:

Digamos que gostaríamos de saber a média do valor de abertura (open) e fechamento (close) da bolsa durante os último 5 dias e também para os demais períodos. Lembre-se que este foram os grupos que criamos na seção de resumo anteriormente.

Dica

Para fazer qualquer tipo de agregação para estas linhas, devemos usar mean(), sum(), min(), max() ou mais utilizando uma lista (list()).

Para isto podemos fazer:

gt_tbl <- gt_tbl |> 
  summary_rows(
    groups = c("Demais dias do período", "Últimos 5 dias"),
    columns = c(open, close),
    fns = list("Média" = "mean"),
  ) 
  

gt_tbl
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Dias no Período open high low close volume adj_close
Últimos 5 dias
2010-12-31 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 1 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
Média 1,257.75 1,258.27
Demais dias do período
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 2 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87
Média 1,247.94 1,250.68
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês
Dica

Observe que pudemos selecionar qual a coluna aplicamos o agregador da média. Como fizemos columns = c(open, close) apenas estas colunas foram agregadas. Podemos definir manualmente as colunas ou utilizar funções auxiliares como ends_with(), everything(), starts_with(), etc.

O argumento fns= recebe uma lista de funções, nos permitindo passar várias funções de uma só vez.

Por exemplo, se ao invés da média, desejarmos mostrar a média e a soma de todas as colunas.

Dica

Podemos também usar groups =TRUE ao invés de passarmos os nomes dos grupos manualmente, para pegarmos todos os grupos de nossa tabela de dados agrupadas de forma automática.

Veja com ficaria:

gt_tbl <- gt_tbl |> 
  summary_rows(
    groups = TRUE,
    columns = everything(),
    fns = list("Média" = "mean",
               "Sub-total" = "sum"),
  ) 
  

gt_tbl
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Dias no Período open high low close volume adj_close
Últimos 5 dias
2010-12-31 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 1 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
Média 1,257.75 1,260.27 1,255.40 1,258.27 2,091,158,000.00 1,258.27
Sub-total 6,288.74 6,301.36 6,276.99 6,291.35 10,455,790,000.00 6,291.35
Demais dias do período
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 2 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87
Média 1,247.94 1,252.26 1,245.44 1,250.68 3,366,285,000.00 1,250.68
Sub-total 7,487.63 7,513.56 7,472.65 7,504.07 20,197,710,000.00 7,504.07
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês

Na lista passada para o argumento fns = , podemos passar o nome da função (ex. mean) ou usarmos fórmulas com o símbolo ~.

Poderíamos fazer algo como:

gt_tbl |> 
  summary_rows(
    groups = TRUE,
    columns = everything(),
    fns = list("Média" = ~mean(.),
               "Sub-total" = ~sum(.)),
  ) 

Para maiores informações veja a seção: Atalhos para funções - PURRR

9.5.0.4 grand_summary_rows

Para adicionar títulos de resumo geral na seção de resumo, usamos a função grand_summary_rows(). Pense nestas linhas, como linhas que resumem as linhas de resumo dos grupos associados. Podemos usá-las, por exemplo para criar linha de totais geral ou outras informações relevantes.

Como temos mais que uma linha de resumo para os grupos, podemos ainda ter uma linha agregando todos os grupos. Observe ao final da tabela as linhas de total geral adicionadas.

gt_tbl <- gt_tbl |>
  grand_summary_rows(
    columns = everything(),
    fns = list("Média" = ~mean(.),
               "Total" = ~sum(.))
  )

gt_tbl
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Dias no Período open high low close volume adj_close
Últimos 5 dias
2010-12-31 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 1 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
Média 1,257.75 1,260.27 1,255.40 1,258.27 2,091,158,000.00 1,258.27
Sub-total 6,288.74 6,301.36 6,276.99 6,291.35 10,455,790,000.00 6,291.35
Demais dias do período
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 2 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87
Média 1,247.94 1,252.26 1,245.44 1,250.68 3,366,285,000.00 1,250.68
Sub-total 7,487.63 7,513.56 7,472.65 7,504.07 20,197,710,000.00 7,504.07
Média 1,252.40 1,255.90 1,249.97 1,254.13 2,786,681,818.18 1,254.13
Total 13,776.37 13,814.92 13,749.64 13,795.42 30,653,500,000.00 13,795.42
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês

9.6 Colunas

A área de títulos das colunas é a área ao lado direito da tabela, logo abaixo do cabeçalho.

Esta área, contém no mínimo os títulos das colunas, mas podemos configurá-las com outras informações, como largura, título, etc e também movê-las ou mesclá-las, ou seja, juntando duas colunas em uma.

9.6.0.1 gt_spanner

Esta função permite mesclar colunas de forma a organizarmos melhor nossa tabela. Como exemplo, iremos mesclar as colunas “high” e “low” em uma colunas chamada “picos do dia”.

Dica

Assim como no cabeçalho e outros textos da tabela, o texto da mescla também aceita markdown ou tags html.

gt_tbl <- gt_tbl |> 
  tab_spanner(
    label = md("**Abertura/Fechamento**"),
    columns = c(open, close)
  ) |> 
  tab_spanner(
    label = html("<b>Picos do dia</b>"),
    columns = c(high, low)
  )
gt_tbl
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Dias no Período Abertura/Fechamento Picos do dia volume adj_close
open close high low
Últimos 5 dias
2010-12-31 1256.76 1257.64 1259.34 1254.19 1799770000 1257.64
2010-12-30 1 1259.44 1257.88 1261.09 1256.32 1970720000 1257.88
2010-12-29 1258.78 1259.78 1262.60 1258.78 2214380000 1259.78
2010-12-28 1259.10 1258.51 1259.90 1256.22 2478450000 1258.51
2010-12-27 1254.66 1257.54 1258.43 1251.48 1992470000 1257.54
Média 1,257.75 1,258.27 1,260.27 1,255.40 2,091,158,000.00 1,258.27
Sub-total 6,288.74 6,291.35 6,301.36 6,276.99 10,455,790,000.00 6,291.35
Demais dias do período
2010-12-23 1257.53 1256.77 1258.59 1254.05 2515020000 1256.77
2010-12-22 1254.94 1258.84 1259.39 1254.94 1285590000 1258.84
2010-12-21 1249.43 1254.60 1255.82 1249.43 3479670000 1254.60
2010-12-20 1245.76 1247.08 1250.20 1241.51 3548140000 1247.08
2010-12-17 1243.63 1243.91 1245.81 1239.87 4632470000 1243.91
2010-12-16 2 1236.34 1242.87 1243.75 1232.85 4736820000 1242.87
Média 1,247.94 1,250.68 1,252.26 1,245.44 3,366,285,000.00 1,250.68
Sub-total 7,487.63 7,504.07 7,513.56 7,472.65 20,197,710,000.00 7,504.07
Média 1,252.40 1,254.13 1,255.90 1,249.97 2,786,681,818.18 1,254.13
Total 13,776.37 13,795.42 13,814.92 13,749.64 30,653,500,000.00 13,795.42
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês

9.6.0.2 cols_move

Podemos mover as colunas usando as funções col_move() e seus atalhos col_move_to_end() e col_move_to_start().

Vejamos um exemplo, onde trocamos a ordem das colunas “volume” e “adj_close”.

gt_tbl |> 
  cols_move(
    columns = volume,
    after = adj_close
  )
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Dias no Período Abertura/Fechamento Picos do dia adj_close volume
open close high low
Últimos 5 dias
2010-12-31 1256.76 1257.64 1259.34 1254.19 1257.64 1799770000
2010-12-30 1 1259.44 1257.88 1261.09 1256.32 1257.88 1970720000
2010-12-29 1258.78 1259.78 1262.60 1258.78 1259.78 2214380000
2010-12-28 1259.10 1258.51 1259.90 1256.22 1258.51 2478450000
2010-12-27 1254.66 1257.54 1258.43 1251.48 1257.54 1992470000
Média 1,257.75 1,258.27 1,260.27 1,255.40 1,258.27 2,091,158,000.00
Sub-total 6,288.74 6,291.35 6,301.36 6,276.99 6,291.35 10,455,790,000.00
Demais dias do período
2010-12-23 1257.53 1256.77 1258.59 1254.05 1256.77 2515020000
2010-12-22 1254.94 1258.84 1259.39 1254.94 1258.84 1285590000
2010-12-21 1249.43 1254.60 1255.82 1249.43 1254.60 3479670000
2010-12-20 1245.76 1247.08 1250.20 1241.51 1247.08 3548140000
2010-12-17 1243.63 1243.91 1245.81 1239.87 1243.91 4632470000
2010-12-16 2 1236.34 1242.87 1243.75 1232.85 1242.87 4736820000
Média 1,247.94 1,250.68 1,252.26 1,245.44 1,250.68 3,366,285,000.00
Sub-total 7,487.63 7,504.07 7,513.56 7,472.65 7,504.07 20,197,710,000.00
Média 1,252.40 1,254.13 1,255.90 1,249.97 1,254.13 2,786,681,818.18
Total 13,776.37 13,795.42 13,814.92 13,749.64 13,795.42 30,653,500,000.00
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês

9.6.0.3 cols_label

Para melhor apresentação de nossa tabela, podemos também ajustar os textos das colunas usando a função cols_label().

Dica

Use tags html ou markdown para formatar o texto.

gt_tbl <- gt_tbl |> 
  
  cols_label(
  open = md("*Abertura*"),
  close = html ("<i>Fechamento</i>"),
  high = "Máximo",
  low = "Mínimo",
  volume = html("<b>Volume</b><br>(<i>Comercializado no dia</i>)")
) 

gt_tbl
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Dias no Período Abertura/Fechamento Picos do dia Volume
(Comercializado no dia)
adj_close
Abertura Fechamento Máximo Mínimo
Últimos 5 dias
2010-12-31 1256.76 1257.64 1259.34 1254.19 1799770000 1257.64
2010-12-30 1 1259.44 1257.88 1261.09 1256.32 1970720000 1257.88
2010-12-29 1258.78 1259.78 1262.60 1258.78 2214380000 1259.78
2010-12-28 1259.10 1258.51 1259.90 1256.22 2478450000 1258.51
2010-12-27 1254.66 1257.54 1258.43 1251.48 1992470000 1257.54
Média 1,257.75 1,258.27 1,260.27 1,255.40 2,091,158,000.00 1,258.27
Sub-total 6,288.74 6,291.35 6,301.36 6,276.99 10,455,790,000.00 6,291.35
Demais dias do período
2010-12-23 1257.53 1256.77 1258.59 1254.05 2515020000 1256.77
2010-12-22 1254.94 1258.84 1259.39 1254.94 1285590000 1258.84
2010-12-21 1249.43 1254.60 1255.82 1249.43 3479670000 1254.60
2010-12-20 1245.76 1247.08 1250.20 1241.51 3548140000 1247.08
2010-12-17 1243.63 1243.91 1245.81 1239.87 4632470000 1243.91
2010-12-16 2 1236.34 1242.87 1243.75 1232.85 4736820000 1242.87
Média 1,247.94 1,250.68 1,252.26 1,245.44 3,366,285,000.00 1,250.68
Sub-total 7,487.63 7,504.07 7,513.56 7,472.65 20,197,710,000.00 7,504.07
Média 1,252.40 1,254.13 1,255.90 1,249.97 2,786,681,818.18 1,254.13
Total 13,776.37 13,795.42 13,814.92 13,749.64 30,653,500,000.00 13,795.42
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês

9.6.0.4 cols_hide

Use para ocultar uma ou mais colunas.

gt_tbl <- gt_tbl |> 
  cols_hide(
    columns = "adj_close"
  )
gt_tbl
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Dias no Período Abertura/Fechamento Picos do dia Volume
(Comercializado no dia)
Abertura Fechamento Máximo Mínimo
Últimos 5 dias
2010-12-31 1256.76 1257.64 1259.34 1254.19 1799770000
2010-12-30 1 1259.44 1257.88 1261.09 1256.32 1970720000
2010-12-29 1258.78 1259.78 1262.60 1258.78 2214380000
2010-12-28 1259.10 1258.51 1259.90 1256.22 2478450000
2010-12-27 1254.66 1257.54 1258.43 1251.48 1992470000
Média 1,257.75 1,258.27 1,260.27 1,255.40 2,091,158,000.00
Sub-total 6,288.74 6,291.35 6,301.36 6,276.99 10,455,790,000.00
Demais dias do período
2010-12-23 1257.53 1256.77 1258.59 1254.05 2515020000
2010-12-22 1254.94 1258.84 1259.39 1254.94 1285590000
2010-12-21 1249.43 1254.60 1255.82 1249.43 3479670000
2010-12-20 1245.76 1247.08 1250.20 1241.51 3548140000
2010-12-17 1243.63 1243.91 1245.81 1239.87 4632470000
2010-12-16 2 1236.34 1242.87 1243.75 1232.85 4736820000
Média 1,247.94 1,250.68 1,252.26 1,245.44 3,366,285,000.00
Sub-total 7,487.63 7,504.07 7,513.56 7,472.65 20,197,710,000.00
Média 1,252.40 1,254.13 1,255.90 1,249.97 2,786,681,818.18
Total 13,776.37 13,795.42 13,814.92 13,749.64 30,653,500,000.00
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês

9.7 Formatação

O pacote gt() oferece uma série de funções para a formatação e em todos os casos elas se iniciam com fmt_*().

Essas funções formatam números ou textos nos campos da tabela.

9.7.0.1 fmt_currency

Vejamos um simple exemplo, formatando a coluna “volume” como moeda brasileira (Reais $):

gt_tbl <- gt_tbl |> 
  fmt_currency(
    columns = volume,
    currency = "BRL",
    decimals = 0,
  )

gt_tbl
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Dias no Período Abertura/Fechamento Picos do dia Volume
(Comercializado no dia)
Abertura Fechamento Máximo Mínimo
Últimos 5 dias
2010-12-31 1256.76 1257.64 1259.34 1254.19 R$1,799,770,000
2010-12-30 1 1259.44 1257.88 1261.09 1256.32 R$1,970,720,000
2010-12-29 1258.78 1259.78 1262.60 1258.78 R$2,214,380,000
2010-12-28 1259.10 1258.51 1259.90 1256.22 R$2,478,450,000
2010-12-27 1254.66 1257.54 1258.43 1251.48 R$1,992,470,000
Média 1,257.75 1,258.27 1,260.27 1,255.40 2,091,158,000.00
Sub-total 6,288.74 6,291.35 6,301.36 6,276.99 10,455,790,000.00
Demais dias do período
2010-12-23 1257.53 1256.77 1258.59 1254.05 R$2,515,020,000
2010-12-22 1254.94 1258.84 1259.39 1254.94 R$1,285,590,000
2010-12-21 1249.43 1254.60 1255.82 1249.43 R$3,479,670,000
2010-12-20 1245.76 1247.08 1250.20 1241.51 R$3,548,140,000
2010-12-17 1243.63 1243.91 1245.81 1239.87 R$4,632,470,000
2010-12-16 2 1236.34 1242.87 1243.75 1232.85 R$4,736,820,000
Média 1,247.94 1,250.68 1,252.26 1,245.44 3,366,285,000.00
Sub-total 7,487.63 7,504.07 7,513.56 7,472.65 20,197,710,000.00
Média 1,252.40 1,254.13 1,255.90 1,249.97 2,786,681,818.18
Total 13,776.37 13,795.42 13,814.92 13,749.64 30,653,500,000.00
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês

Veja que neste caso, as linhas de resumo não foram formatadas da mesma maneira. Nestes casos, devemos passar a formatação quando criamos estas linhas.

gt_tbl <- gt_tbl |> 
  summary_rows(
    groups = TRUE,
    columns = volume,
    fns = list("Média" = "mean",
               "Sub-total" = "sum"),
    formatter = fmt_currency,
    currency = "BRL",
                   decimals = 0,
    )

gt_tbl
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Dias no Período Abertura/Fechamento Picos do dia Volume
(Comercializado no dia)
Abertura Fechamento Máximo Mínimo
Últimos 5 dias
2010-12-31 1256.76 1257.64 1259.34 1254.19 R$1,799,770,000
2010-12-30 1 1259.44 1257.88 1261.09 1256.32 R$1,970,720,000
2010-12-29 1258.78 1259.78 1262.60 1258.78 R$2,214,380,000
2010-12-28 1259.10 1258.51 1259.90 1256.22 R$2,478,450,000
2010-12-27 1254.66 1257.54 1258.43 1251.48 R$1,992,470,000
Média 1,257.75 1,258.27 1,260.27 1,255.40 R$2,091,158,000
Sub-total 6,288.74 6,291.35 6,301.36 6,276.99 R$10,455,790,000
Demais dias do período
2010-12-23 1257.53 1256.77 1258.59 1254.05 R$2,515,020,000
2010-12-22 1254.94 1258.84 1259.39 1254.94 R$1,285,590,000
2010-12-21 1249.43 1254.60 1255.82 1249.43 R$3,479,670,000
2010-12-20 1245.76 1247.08 1250.20 1241.51 R$3,548,140,000
2010-12-17 1243.63 1243.91 1245.81 1239.87 R$4,632,470,000
2010-12-16 2 1236.34 1242.87 1243.75 1232.85 R$4,736,820,000
Média 1,247.94 1,250.68 1,252.26 1,245.44 R$3,366,285,000
Sub-total 7,487.63 7,504.07 7,513.56 7,472.65 R$20,197,710,000
Média 1,252.40 1,254.13 1,255.90 1,249.97 2,786,681,818.18
Total 13,776.37 13,795.42 13,814.92 13,749.64 30,653,500,000.00
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês

O mesmo devemos fazer se quisermos formatar as linhas de resumo total ao final da tabela:

gt_tbl <- gt_tbl |> 
  grand_summary_rows(
    columns = volume,
    fns = list("Média" = "mean",
               "Total" = "sum"),
    formatter = fmt_currency,
    currency = "BRL",
    decimals = 0,
    )

gt_tbl
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Dias no Período Abertura/Fechamento Picos do dia Volume
(Comercializado no dia)
Abertura Fechamento Máximo Mínimo
Últimos 5 dias
2010-12-31 1256.76 1257.64 1259.34 1254.19 R$1,799,770,000
2010-12-30 1 1259.44 1257.88 1261.09 1256.32 R$1,970,720,000
2010-12-29 1258.78 1259.78 1262.60 1258.78 R$2,214,380,000
2010-12-28 1259.10 1258.51 1259.90 1256.22 R$2,478,450,000
2010-12-27 1254.66 1257.54 1258.43 1251.48 R$1,992,470,000
Média 1,257.75 1,258.27 1,260.27 1,255.40 R$2,091,158,000
Sub-total 6,288.74 6,291.35 6,301.36 6,276.99 R$10,455,790,000
Demais dias do período
2010-12-23 1257.53 1256.77 1258.59 1254.05 R$2,515,020,000
2010-12-22 1254.94 1258.84 1259.39 1254.94 R$1,285,590,000
2010-12-21 1249.43 1254.60 1255.82 1249.43 R$3,479,670,000
2010-12-20 1245.76 1247.08 1250.20 1241.51 R$3,548,140,000
2010-12-17 1243.63 1243.91 1245.81 1239.87 R$4,632,470,000
2010-12-16 2 1236.34 1242.87 1243.75 1232.85 R$4,736,820,000
Média 1,247.94 1,250.68 1,252.26 1,245.44 R$3,366,285,000
Sub-total 7,487.63 7,504.07 7,513.56 7,472.65 R$20,197,710,000
Média 1,252.40 1,254.13 1,255.90 1,249.97 R$2,786,681,818
Total 13,776.37 13,795.42 13,814.92 13,749.64 R$30,653,500,000
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês

É claro que podemos salvar estas configurações de formatação em um objeto e usá-las repetidas vezes.

Por exemplo, vamos formatar melhor os valores de abertura (open) e fechamento (close), só que desta vez, usando uma lista de formatação.

#Criando os parametros de formatação:

formatos <- list (
  decimals = 2,
  locale = "pt_BR",
  currency = "BRL"
)

Agora vamos utilizá-la nas formatações com a função fmt_currency().

gt_tbl <- gt_tbl |> 
  fmt_currency(
  columns = c(open, close),
  currency = formatos$currency,
  locale = formatos$locale,
) |> 
  
  summary_rows(
    groups = TRUE,
    columns = c(open, close),
    fns = list("Média" = "mean",
               "Sub-total" = "sum"),
    formatter = fmt_currency,
    decimals = formatos$decimals,
    locale = formatos$locale
  ) |> 
  
    grand_summary_rows(
    columns = c(open, close),
    fns = list("Média" = "mean",
               "Total" = "sum"),
    formatter = fmt_currency,
    decimals = formatos$decimals,
    locale = formatos$locale
  )
  
gt_tbl
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Dias no Período Abertura/Fechamento Picos do dia Volume
(Comercializado no dia)
Abertura Fechamento Máximo Mínimo
Últimos 5 dias
2010-12-31 R$1.256,76 R$1.257,64 1259.34 1254.19 R$1,799,770,000
2010-12-30 1 R$1.259,44 R$1.257,88 1261.09 1256.32 R$1,970,720,000
2010-12-29 R$1.258,78 R$1.259,78 1262.60 1258.78 R$2,214,380,000
2010-12-28 R$1.259,10 R$1.258,51 1259.90 1256.22 R$2,478,450,000
2010-12-27 R$1.254,66 R$1.257,54 1258.43 1251.48 R$1,992,470,000
Média $1.257,75 $1.258,27 1,260.27 1,255.40 R$2,091,158,000
Sub-total $6.288,74 $6.291,35 6,301.36 6,276.99 R$10,455,790,000
Demais dias do período
2010-12-23 R$1.257,53 R$1.256,77 1258.59 1254.05 R$2,515,020,000
2010-12-22 R$1.254,94 R$1.258,84 1259.39 1254.94 R$1,285,590,000
2010-12-21 R$1.249,43 R$1.254,60 1255.82 1249.43 R$3,479,670,000
2010-12-20 R$1.245,76 R$1.247,08 1250.20 1241.51 R$3,548,140,000
2010-12-17 R$1.243,63 R$1.243,91 1245.81 1239.87 R$4,632,470,000
2010-12-16 2 R$1.236,34 R$1.242,87 1243.75 1232.85 R$4,736,820,000
Média $1.247,94 $1.250,68 1,252.26 1,245.44 R$3,366,285,000
Sub-total $7.487,63 $7.504,07 7,513.56 7,472.65 R$20,197,710,000
Média $1.252,40 $1.254,13 1,255.90 1,249.97 R$2,786,681,818
Total $13.776,37 $13.795,42 13,814.92 13,749.64 R$30,653,500,000
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês

9.7.0.2 fmt_number

Para exeplificar outra função da família fmt_*(), vamos usar o fmt_number() nas colunas “high” e “low” para trocar o caractere da casa decimal e separador de milhar no formato brasileiro.

gt_tbl |>   
  fmt_number(
    columns = c(high, low),
    locale = "pt_BR"
  )
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Dias no Período Abertura/Fechamento Picos do dia Volume
(Comercializado no dia)
Abertura Fechamento Máximo Mínimo
Últimos 5 dias
2010-12-31 R$1.256,76 R$1.257,64 1.259,34 1.254,19 R$1,799,770,000
2010-12-30 1 R$1.259,44 R$1.257,88 1.261,09 1.256,32 R$1,970,720,000
2010-12-29 R$1.258,78 R$1.259,78 1.262,60 1.258,78 R$2,214,380,000
2010-12-28 R$1.259,10 R$1.258,51 1.259,90 1.256,22 R$2,478,450,000
2010-12-27 R$1.254,66 R$1.257,54 1.258,43 1.251,48 R$1,992,470,000
Média $1.257,75 $1.258,27 1,260.27 1,255.40 R$2,091,158,000
Sub-total $6.288,74 $6.291,35 6,301.36 6,276.99 R$10,455,790,000
Demais dias do período
2010-12-23 R$1.257,53 R$1.256,77 1.258,59 1.254,05 R$2,515,020,000
2010-12-22 R$1.254,94 R$1.258,84 1.259,39 1.254,94 R$1,285,590,000
2010-12-21 R$1.249,43 R$1.254,60 1.255,82 1.249,43 R$3,479,670,000
2010-12-20 R$1.245,76 R$1.247,08 1.250,20 1.241,51 R$3,548,140,000
2010-12-17 R$1.243,63 R$1.243,91 1.245,81 1.239,87 R$4,632,470,000
2010-12-16 2 R$1.236,34 R$1.242,87 1.243,75 1.232,85 R$4,736,820,000
Média $1.247,94 $1.250,68 1,252.26 1,245.44 R$3,366,285,000
Sub-total $7.487,63 $7.504,07 7,513.56 7,472.65 R$20,197,710,000
Média $1.252,40 $1.254,13 1,255.90 1,249.97 R$2,786,681,818
Total $13.776,37 $13.795,42 13,814.92 13,749.64 R$30,653,500,000
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês
Dica

Há ainda diversas outras formatações úteis, como fmt_percent(), fmt_date(), fmt_missing() entre outras. Para saber mais veja ?fmt_percent() ou outra que desejar.

9.7.0.3 text_transform

Use esta função para fazer uma alteração no texto de uma ou mais células da tabela aplicando uma função.

Digamos que precisemos alterar os valores da coluna high, para uma marcação de “alto” e “baixo” quando os valores foram > que $1250 < que $1245:

gt_tbl |> 
  text_transform(locations = 
                cells_body(columns = high), 
                 fn = function(x){
                   paste0(x,  dplyr::case_when(x > 1260.00 ~" (alto)", 
                                               x < 1245.00 ~" (baixo)",
                                               TRUE ~"")
                          )
                 }
  )
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Dias no Período Abertura/Fechamento Picos do dia Volume
(Comercializado no dia)
Abertura Fechamento Máximo Mínimo
Últimos 5 dias
2010-12-31 R$1.256,76 R$1.257,64 1259.34 1254.19 R$1,799,770,000
2010-12-30 1 R$1.259,44 R$1.257,88 1261.09 (alto) 1256.32 R$1,970,720,000
2010-12-29 R$1.258,78 R$1.259,78 1262.60 (alto) 1258.78 R$2,214,380,000
2010-12-28 R$1.259,10 R$1.258,51 1259.90 1256.22 R$2,478,450,000
2010-12-27 R$1.254,66 R$1.257,54 1258.43 1251.48 R$1,992,470,000
Média $1.257,75 $1.258,27 1,260.27 1,255.40 R$2,091,158,000
Sub-total $6.288,74 $6.291,35 6,301.36 6,276.99 R$10,455,790,000
Demais dias do período
2010-12-23 R$1.257,53 R$1.256,77 1258.59 1254.05 R$2,515,020,000
2010-12-22 R$1.254,94 R$1.258,84 1259.39 1254.94 R$1,285,590,000
2010-12-21 R$1.249,43 R$1.254,60 1255.82 1249.43 R$3,479,670,000
2010-12-20 R$1.245,76 R$1.247,08 1250.20 1241.51 R$3,548,140,000
2010-12-17 R$1.243,63 R$1.243,91 1245.81 1239.87 R$4,632,470,000
2010-12-16 2 R$1.236,34 R$1.242,87 1243.75 (baixo) 1232.85 R$4,736,820,000
Média $1.247,94 $1.250,68 1,252.26 1,245.44 R$3,366,285,000
Sub-total $7.487,63 $7.504,07 7,513.56 7,472.65 R$20,197,710,000
Média $1.252,40 $1.254,13 1,255.90 1,249.97 R$2,786,681,818
Total $13.776,37 $13.795,42 13,814.92 13,749.64 R$30,653,500,000
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês

9.8 Estilos e Alinhamentos

O pacote gt possui um série de opções para formatação de estilos da tabela e alinhamentos das linhas e colunas. Vejamos algumas delas.

9.8.0.1 cols_align

Use esta função para alinhar as colunas da tabela. Neste exemplo, iremos alinhar as coluna “volume” ao centro.

gt_tbl |> 
  cols_align(
    align = "center",
    columns = volume
    )
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Dias no Período Abertura/Fechamento Picos do dia Volume
(Comercializado no dia)
Abertura Fechamento Máximo Mínimo
Últimos 5 dias
2010-12-31 R$1.256,76 R$1.257,64 1259.34 1254.19 R$1,799,770,000
2010-12-30 1 R$1.259,44 R$1.257,88 1261.09 1256.32 R$1,970,720,000
2010-12-29 R$1.258,78 R$1.259,78 1262.60 1258.78 R$2,214,380,000
2010-12-28 R$1.259,10 R$1.258,51 1259.90 1256.22 R$2,478,450,000
2010-12-27 R$1.254,66 R$1.257,54 1258.43 1251.48 R$1,992,470,000
Média $1.257,75 $1.258,27 1,260.27 1,255.40 R$2,091,158,000
Sub-total $6.288,74 $6.291,35 6,301.36 6,276.99 R$10,455,790,000
Demais dias do período
2010-12-23 R$1.257,53 R$1.256,77 1258.59 1254.05 R$2,515,020,000
2010-12-22 R$1.254,94 R$1.258,84 1259.39 1254.94 R$1,285,590,000
2010-12-21 R$1.249,43 R$1.254,60 1255.82 1249.43 R$3,479,670,000
2010-12-20 R$1.245,76 R$1.247,08 1250.20 1241.51 R$3,548,140,000
2010-12-17 R$1.243,63 R$1.243,91 1245.81 1239.87 R$4,632,470,000
2010-12-16 2 R$1.236,34 R$1.242,87 1243.75 1232.85 R$4,736,820,000
Média $1.247,94 $1.250,68 1,252.26 1,245.44 R$3,366,285,000
Sub-total $7.487,63 $7.504,07 7,513.56 7,472.65 R$20,197,710,000
Média $1.252,40 $1.254,13 1,255.90 1,249.97 R$2,786,681,818
Total $13.776,37 $13.795,42 13,814.92 13,749.64 R$30,653,500,000
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês

9.8.0.2 tab_style

Podemos também definir o estilo padrão das células da tabela. Esta função recebe dois argumentos chaves. Um objeto de estilo (style) e um objeto de localização (location).

Estilo: Podemos criar um objeto de estilo através de funções como cell_text(), cell_border(), cell_fill(), etc.

Localização: Podemos criar um objeto de localização através da função cells_body() como vimos quando definimos as notas de rodapé da tabela para o maior e menor valor de abertura. Mas além desta função, existem algumas outras que retornam localizações de partes específicas da tabela como: cells_title(), cells_stubhead(), cells_column_spanners(), cells_row_groups(), cells_stub(), cells_summary() e cells_grand_summary().

Vejamos o exemplo a seguir, onde iremos reduzir o tamanho da fonte das colunas “high” e “low” deixando-as em itálico.

gt_tbl <- gt_tbl |> 
  tab_style(
    style = cell_text(size = px(14), style = "italic"),
    locations = cells_body(columns = c(high, low))
    )

gt_tbl
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Dias no Período Abertura/Fechamento Picos do dia Volume
(Comercializado no dia)
Abertura Fechamento Máximo Mínimo
Últimos 5 dias
2010-12-31 R$1.256,76 R$1.257,64 1259.34 1254.19 R$1,799,770,000
2010-12-30 1 R$1.259,44 R$1.257,88 1261.09 1256.32 R$1,970,720,000
2010-12-29 R$1.258,78 R$1.259,78 1262.60 1258.78 R$2,214,380,000
2010-12-28 R$1.259,10 R$1.258,51 1259.90 1256.22 R$2,478,450,000
2010-12-27 R$1.254,66 R$1.257,54 1258.43 1251.48 R$1,992,470,000
Média $1.257,75 $1.258,27 1,260.27 1,255.40 R$2,091,158,000
Sub-total $6.288,74 $6.291,35 6,301.36 6,276.99 R$10,455,790,000
Demais dias do período
2010-12-23 R$1.257,53 R$1.256,77 1258.59 1254.05 R$2,515,020,000
2010-12-22 R$1.254,94 R$1.258,84 1259.39 1254.94 R$1,285,590,000
2010-12-21 R$1.249,43 R$1.254,60 1255.82 1249.43 R$3,479,670,000
2010-12-20 R$1.245,76 R$1.247,08 1250.20 1241.51 R$3,548,140,000
2010-12-17 R$1.243,63 R$1.243,91 1245.81 1239.87 R$4,632,470,000
2010-12-16 2 R$1.236,34 R$1.242,87 1243.75 1232.85 R$4,736,820,000
Média $1.247,94 $1.250,68 1,252.26 1,245.44 R$3,366,285,000
Sub-total $7.487,63 $7.504,07 7,513.56 7,472.65 R$20,197,710,000
Média $1.252,40 $1.254,13 1,255.90 1,249.97 R$2,786,681,818
Total $13.776,37 $13.795,42 13,814.92 13,749.64 R$30,653,500,000
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês

Podemos usar uma lista para definir os estilos de célula, preenchimento, borda, etc. Vejamos um exemplo, onde iremos ressaltar com cores nossos valores de abertura mínimo e máximo para o período:

gt_tbl <- gt_tbl |> 
  tab_style(
    style = list(cell_text(color = "green", weight = "bolder"),
                 cell_borders(color = "darkgreen")),
    locations = cells_body(columns = open, rows = open == max(abertura))
  ) |> 

  tab_style(
    style = list(cell_text(color = "red", weight = "bolder"),
                 cell_borders(color = "darkred")),
    locations = cells_body(columns = open, rows = open == min(abertura))
  ) 

gt_tbl
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Dias no Período Abertura/Fechamento Picos do dia Volume
(Comercializado no dia)
Abertura Fechamento Máximo Mínimo
Últimos 5 dias
2010-12-31 R$1.256,76 R$1.257,64 1259.34 1254.19 R$1,799,770,000
2010-12-30 1 R$1.259,44 R$1.257,88 1261.09 1256.32 R$1,970,720,000
2010-12-29 R$1.258,78 R$1.259,78 1262.60 1258.78 R$2,214,380,000
2010-12-28 R$1.259,10 R$1.258,51 1259.90 1256.22 R$2,478,450,000
2010-12-27 R$1.254,66 R$1.257,54 1258.43 1251.48 R$1,992,470,000
Média $1.257,75 $1.258,27 1,260.27 1,255.40 R$2,091,158,000
Sub-total $6.288,74 $6.291,35 6,301.36 6,276.99 R$10,455,790,000
Demais dias do período
2010-12-23 R$1.257,53 R$1.256,77 1258.59 1254.05 R$2,515,020,000
2010-12-22 R$1.254,94 R$1.258,84 1259.39 1254.94 R$1,285,590,000
2010-12-21 R$1.249,43 R$1.254,60 1255.82 1249.43 R$3,479,670,000
2010-12-20 R$1.245,76 R$1.247,08 1250.20 1241.51 R$3,548,140,000
2010-12-17 R$1.243,63 R$1.243,91 1245.81 1239.87 R$4,632,470,000
2010-12-16 2 R$1.236,34 R$1.242,87 1243.75 1232.85 R$4,736,820,000
Média $1.247,94 $1.250,68 1,252.26 1,245.44 R$3,366,285,000
Sub-total $7.487,63 $7.504,07 7,513.56 7,472.65 R$20,197,710,000
Média $1.252,40 $1.254,13 1,255.90 1,249.97 R$2,786,681,818
Total $13.776,37 $13.795,42 13,814.92 13,749.64 R$30,653,500,000
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês

Observer que assim como as formatações para valor monetário, observe que as linhas de resumo e resumo geral não foram afetadas. Para definir um estilo, temos que alterar através da própria função tab_options().

9.8.0.3 tab_options

Para exemplificar, vamos alterar a cor de preenchimento destas linhas de resumo, resumo geral e colocar as linhas em bandas:

gt_tbl <- gt_tbl |>
  tab_options(
    summary_row.background.color = "dodgerblue3",
    grand_summary_row.background.color = "dodgerblue4",
    row.striping.background_color = "aliceblue",
    row.striping.include_stub = TRUE,
    row.striping.include_table_body = TRUE
  )

gt_tbl
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Dias no Período Abertura/Fechamento Picos do dia Volume
(Comercializado no dia)
Abertura Fechamento Máximo Mínimo
Últimos 5 dias
2010-12-31 R$1.256,76 R$1.257,64 1259.34 1254.19 R$1,799,770,000
2010-12-30 1 R$1.259,44 R$1.257,88 1261.09 1256.32 R$1,970,720,000
2010-12-29 R$1.258,78 R$1.259,78 1262.60 1258.78 R$2,214,380,000
2010-12-28 R$1.259,10 R$1.258,51 1259.90 1256.22 R$2,478,450,000
2010-12-27 R$1.254,66 R$1.257,54 1258.43 1251.48 R$1,992,470,000
Média $1.257,75 $1.258,27 1,260.27 1,255.40 R$2,091,158,000
Sub-total $6.288,74 $6.291,35 6,301.36 6,276.99 R$10,455,790,000
Demais dias do período
2010-12-23 R$1.257,53 R$1.256,77 1258.59 1254.05 R$2,515,020,000
2010-12-22 R$1.254,94 R$1.258,84 1259.39 1254.94 R$1,285,590,000
2010-12-21 R$1.249,43 R$1.254,60 1255.82 1249.43 R$3,479,670,000
2010-12-20 R$1.245,76 R$1.247,08 1250.20 1241.51 R$3,548,140,000
2010-12-17 R$1.243,63 R$1.243,91 1245.81 1239.87 R$4,632,470,000
2010-12-16 2 R$1.236,34 R$1.242,87 1243.75 1232.85 R$4,736,820,000
Média $1.247,94 $1.250,68 1,252.26 1,245.44 R$3,366,285,000
Sub-total $7.487,63 $7.504,07 7,513.56 7,472.65 R$20,197,710,000
Média $1.252,40 $1.254,13 1,255.90 1,249.97 R$2,786,681,818
Total $13.776,37 $13.795,42 13,814.92 13,749.64 R$30,653,500,000
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês

Como a formatação de uma tabela é algum sem fim, vamos deixar com mais alguns exemplos na tabela abaixo:

gt_tbl <- gt_tbl |> 
  
  tab_style(style = list(cell_text(weight = "bolder", color = "white")),
            locations = cells_row_groups()) |> 
  
  tab_style(style = list(cell_fill(color = "dodgerblue3"),
                         cell_text(weight = "bolder", color = "white")),
            locations = list(cells_stubhead(), cells_stub_summary())) |> 
  
  tab_style(style = list(cell_text(weight = "bolder")),
            locations = cells_stub()) |> 
  
  data_color(
    columns = volume,
    colors = scales::col_numeric(
      palette = c(
        "slategray1","slategray4"),
      domain = NULL)
  )

gt_tbl
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Dias no Período Abertura/Fechamento Picos do dia Volume
(Comercializado no dia)
Abertura Fechamento Máximo Mínimo
Últimos 5 dias
2010-12-31 R$1.256,76 R$1.257,64 1259.34 1254.19 R$1,799,770,000
2010-12-30 1 R$1.259,44 R$1.257,88 1261.09 1256.32 R$1,970,720,000
2010-12-29 R$1.258,78 R$1.259,78 1262.60 1258.78 R$2,214,380,000
2010-12-28 R$1.259,10 R$1.258,51 1259.90 1256.22 R$2,478,450,000
2010-12-27 R$1.254,66 R$1.257,54 1258.43 1251.48 R$1,992,470,000
Média $1.257,75 $1.258,27 1,260.27 1,255.40 R$2,091,158,000
Sub-total $6.288,74 $6.291,35 6,301.36 6,276.99 R$10,455,790,000
Demais dias do período
2010-12-23 R$1.257,53 R$1.256,77 1258.59 1254.05 R$2,515,020,000
2010-12-22 R$1.254,94 R$1.258,84 1259.39 1254.94 R$1,285,590,000
2010-12-21 R$1.249,43 R$1.254,60 1255.82 1249.43 R$3,479,670,000
2010-12-20 R$1.245,76 R$1.247,08 1250.20 1241.51 R$3,548,140,000
2010-12-17 R$1.243,63 R$1.243,91 1245.81 1239.87 R$4,632,470,000
2010-12-16 2 R$1.236,34 R$1.242,87 1243.75 1232.85 R$4,736,820,000
Média $1.247,94 $1.250,68 1,252.26 1,245.44 R$3,366,285,000
Sub-total $7.487,63 $7.504,07 7,513.56 7,472.65 R$20,197,710,000
Média $1.252,40 $1.254,13 1,255.90 1,249.97 R$2,786,681,818
Total $13.776,37 $13.795,42 13,814.92 13,749.64 R$30,653,500,000
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês

9.9 Salvar

O pacote gt, possui diversas opções para exportar o objeto de tabela criado pela função gt().

9.9.0.1 gtsave

Use esta função para a tabela em diversos formatos. Ela tenta advinhar o tipo do arquivo através da extensão do arquivo passado para a função. Ela pose exportar HTML, PDF, PNG LaTeX ou RTF.

gt_tbl |> gtsave ("tabela-01.png")

O comando acima, criará uma imagem .PNG no diretório corrente.

9.10 Template

Para evitar que as configurações de sua tabela sejam digitadas repetidamente, podemos criar uma função com os elementos de estilo a serem aplicados sempre em suas tabelas.

Abaixo, mostramos um exemplos simples, onde iremos mover as principais configurações de nossa tabela para uma função que pode ser aplicada em outras tabelas futuras.

gt_template <- function (.data){
    .data |> 
    tab_style(
      style = list(cell_text(size = "x-small", style = "italic"),
                   cell_borders(color = "white")),
      locations = cells_body()
    ) |>
    tab_style(style = list(cell_fill(color = "olivedrab2"),
                         cell_text(weight = "bolder", color = "black")),
            locations = cells_row_groups()) |>

    tab_style(style = list(cell_fill(color = "olivedrab4"),
                         cell_text(weight = "bolder", color = "white")),
            locations = list(cells_column_labels())) |>

    tab_options(
      row.striping.background_color = "darkolivegreen1",
      row.striping.include_table_body = TRUE
    )
  
}

Agora iremos aplicar estes estilos em uma tabela.

Dica

Ao invés da funções gt(), usaremos a função gt_preview(). Elas são similares, porém a gt_preview() mostra apenas um resumo da tabela. Pode ser útil durante o desenvolvimento da tabela, para definir as cores e formatações.

mtcars |>  
  group_by(cyl) |> 
  gt() |> 
  gt_template()
mpg disp hp drat wt qsec vs am gear carb
6
21.0 160.0 110 3.90 2.620 16.46 0 1 4 4
21.0 160.0 110 3.90 2.875 17.02 0 1 4 4
21.4 258.0 110 3.08 3.215 19.44 1 0 3 1
18.1 225.0 105 2.76 3.460 20.22 1 0 3 1
19.2 167.6 123 3.92 3.440 18.30 1 0 4 4
17.8 167.6 123 3.92 3.440 18.90 1 0 4 4
19.7 145.0 175 3.62 2.770 15.50 0 1 5 6
4
22.8 108.0 93 3.85 2.320 18.61 1 1 4 1
24.4 146.7 62 3.69 3.190 20.00 1 0 4 2
22.8 140.8 95 3.92 3.150 22.90 1 0 4 2
32.4 78.7 66 4.08 2.200 19.47 1 1 4 1
30.4 75.7 52 4.93 1.615 18.52 1 1 4 2
33.9 71.1 65 4.22 1.835 19.90 1 1 4 1
21.5 120.1 97 3.70 2.465 20.01 1 0 3 1
27.3 79.0 66 4.08 1.935 18.90 1 1 4 1
26.0 120.3 91 4.43 2.140 16.70 0 1 5 2
30.4 95.1 113 3.77 1.513 16.90 1 1 5 2
21.4 121.0 109 4.11 2.780 18.60 1 1 4 2
8
18.7 360.0 175 3.15 3.440 17.02 0 0 3 2
14.3 360.0 245 3.21 3.570 15.84 0 0 3 4
16.4 275.8 180 3.07 4.070 17.40 0 0 3 3
17.3 275.8 180 3.07 3.730 17.60 0 0 3 3
15.2 275.8 180 3.07 3.780 18.00 0 0 3 3
10.4 472.0 205 2.93 5.250 17.98 0 0 3 4
10.4 460.0 215 3.00 5.424 17.82 0 0 3 4
14.7 440.0 230 3.23 5.345 17.42 0 0 3 4
15.5 318.0 150 2.76 3.520 16.87 0 0 3 2
15.2 304.0 150 3.15 3.435 17.30 0 0 3 2
13.3 350.0 245 3.73 3.840 15.41 0 0 3 4
19.2 400.0 175 3.08 3.845 17.05 0 0 3 2
15.8 351.0 264 4.22 3.170 14.50 0 1 5 4
15.0 301.0 335 3.54 3.570 14.60 0 1 5 8

Se aplicarmos em outra tablea, teremos as mesma configurações:

us_rent_income |>  
  group_by(NAME) |> 
  gt() |> 
  gt_template()
GEOID variable estimate moe
Alabama
01 income 24476 136
01 rent 747 3
Alaska
02 income 32940 508
02 rent 1200 13
Arizona
04 income 27517 148
04 rent 972 4
Arkansas
05 income 23789 165
05 rent 709 5
California
06 income 29454 109
06 rent 1358 3
Colorado
08 income 32401 109
08 rent 1125 5
Connecticut
09 income 35326 195
09 rent 1123 5
Delaware
10 income 31560 247
10 rent 1076 10
District of Columbia
11 income 43198 681
11 rent 1424 17
Florida
12 income 25952 70
12 rent 1077 3
Georgia
13 income 27024 106
13 rent 927 3
Hawaii
15 income 32453 218
15 rent 1507 18
Idaho
16 income 25298 208
16 rent 792 7
Illinois
17 income 30684 83
17 rent 952 3
Indiana
18 income 27247 117
18 rent 782 3
Iowa
19 income 30002 143
19 rent 740 4
Kansas
20 income 29126 208
20 rent 801 5
Kentucky
21 income 24702 159
21 rent 713 4
Louisiana
22 income 25086 155
22 rent 825 4
Maine
23 income 26841 187
23 rent 808 7
Maryland
24 income 37147 152
24 rent 1311 5
Massachusetts
25 income 34498 199
25 rent 1173 5
Michigan
26 income 26987 82
26 rent 824 3
Minnesota
27 income 32734 189
27 rent 906 4
Mississippi
28 income 22766 194
28 rent 740 5
Missouri
29 income 26999 113
29 rent 784 4
Montana
30 income 26249 206
30 rent 751 9
Nebraska
31 income 30020 146
31 rent 773 4
Nevada
32 income 29019 213
32 rent 1017 6
New Hampshire
33 income 33172 387
33 rent 1052 9
New Jersey
34 income 35075 148
34 rent 1249 4
New Mexico
35 income 24457 214
35 rent 809 6
New York
36 income 31057 69
36 rent 1194 3
North Carolina
37 income 26482 111
37 rent 844 3
North Dakota
38 income 32336 245
38 rent 775 9
Ohio
39 income 27435 94
39 rent 764 2
Oklahoma
40 income 26207 101
40 rent 766 3
Oregon
41 income 27389 146
41 rent 988 4
Pennsylvania
42 income 28923 119
42 rent 885 3
Rhode Island
44 income 30210 259
44 rent 957 6
South Carolina
45 income 25454 123
45 rent 836 4
South Dakota
46 income 28821 276
46 rent 696 7
Tennessee
47 income 25453 102
47 rent 808 4
Texas
48 income 28063 110
48 rent 952 2
Utah
49 income 27928 239
49 rent 948 6
Vermont
50 income 29351 361
50 rent 945 11
Virginia
51 income 32545 202
51 rent 1166 5
Washington
53 income 32318 113
53 rent 1120 4
West Virginia
54 income 23707 203
54 rent 681 6
Wisconsin
55 income 29868 135
55 rent 813 3
Wyoming
56 income 30854 342
56 rent 828 11
Puerto Rico
72 income NA NA
72 rent 464 6

9.11 gtExtras

Como vimos, o pacote gt tem muitas opções para geração de tabelas.

Há outros pacotes caso este não atenda suas necessidade. Se gostou da filosofia e possibildades, há um outro pacote escrito sobre esta plataforma chamado gtExtras. Este pacote já vem com um série de temas para facilitar a criação da tabela.

Apelnas para ilustrar, deixamo um pequeno exemplo, onde formatamos nossa pequena tabela e depois aplicamos alguns dos temas já disponíveis no pacote gtExtras logo abaixo.

library (gtExtras)

gt_tbl_extra <- sp500a |>
  gt(rowname_col = "date", groupname_col = "ultimos_5_dias") |>
  
  tab_header(title = md("**SP&500 - 2a Quinzena de Dezembro de 2010**"),
             subtitle = md("Operações *diárias* da SP&500 durante **2a Quinzena** de *Dezembro de 2010*")) |> 
  
  tab_source_note(
    source_note = md("**Fonte**: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. *https://gt.rstudio.com/, https://github.com/rstudio/gt*")
  ) |> 
  
  tab_footnote(
    footnote = "Último dia do mês",
    location = cells_body(columns = date, rows = 1)
  ) |> 
  
  tab_footnote(
    footnote = md("**Maior** abertura do mês"),
    location = cells_body(columns = open, rows = open == max(abertura))
  ) |>
  
  tab_footnote(
    footnote = md("**Menor** abertura do mês"),
    location = cells_body(columns = open, rows = open == min(abertura))
  ) |> 
  
  tab_stubhead(label = "Período") |> 
  
  summary_rows(
    groups = TRUE,
    columns = everything(),
    fns = list("Sub-total" = "sum"),
  ) |> 
  
  grand_summary_rows(
    columns = everything(),
    fns = list("Total" = ~sum(.))
  )
gt_tbl_extra
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Período open high low close volume adj_close
Últimos 5 dias
2010-12-31 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 1 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
Sub-total 6,288.74 6,301.36 6,276.99 6,291.35 10,455,790,000.00 6,291.35
Demais dias do período
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 2 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87
Sub-total 7,487.63 7,513.56 7,472.65 7,504.07 20,197,710,000.00 7,504.07
Total 13,776.37 13,814.92 13,749.64 13,795.42 30,653,500,000.00 13,795.42
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês

A seguir aplicamos alguns temas já disponíveis no pacote gtExtras:

gt_tbl_extra |> gt_theme_pff()
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Período open high low close volume adj_close
Últimos 5 dias
2010-12-31 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 1 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
Sub-total 6,288.74 6,301.36 6,276.99 6,291.35 10,455,790,000.00 6,291.35
Demais dias do período
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 2 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87
Sub-total 7,487.63 7,513.56 7,472.65 7,504.07 20,197,710,000.00 7,504.07
Total 13,776.37 13,814.92 13,749.64 13,795.42 30,653,500,000.00 13,795.42
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês
gt_tbl_extra |> gt_theme_excel()
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Período open high low close volume adj_close
Últimos 5 dias
2010-12-31 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 1 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
Sub-total 6,288.74 6,301.36 6,276.99 6,291.35 10,455,790,000.00 6,291.35
Demais dias do período
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 2 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87
Sub-total 7,487.63 7,513.56 7,472.65 7,504.07 20,197,710,000.00 7,504.07
Total 13,776.37 13,814.92 13,749.64 13,795.42 30,653,500,000.00 13,795.42
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês
gt_tbl_extra |> gt_theme_guardian()
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Período open high low close volume adj_close
Últimos 5 dias
2010-12-31 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 1 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
Sub-total 6,288.74 6,301.36 6,276.99 6,291.35 10,455,790,000.00 6,291.35
Demais dias do período
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 2 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87
Sub-total 7,487.63 7,513.56 7,472.65 7,504.07 20,197,710,000.00 7,504.07
Total 13,776.37 13,814.92 13,749.64 13,795.42 30,653,500,000.00 13,795.42
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês
gt_tbl_extra |> gt_theme_dark()
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Período open high low close volume adj_close
Últimos 5 dias
2010-12-31 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 1 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
Sub-total 6,288.74 6,301.36 6,276.99 6,291.35 10,455,790,000.00 6,291.35
Demais dias do período
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 2 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87
Sub-total 7,487.63 7,513.56 7,472.65 7,504.07 20,197,710,000.00 7,504.07
Total 13,776.37 13,814.92 13,749.64 13,795.42 30,653,500,000.00 13,795.42
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês
gt_tbl_extra |> gt_theme_espn()
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Período open high low close volume adj_close
Últimos 5 dias
2010-12-31 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 1 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
Sub-total 6,288.74 6,301.36 6,276.99 6,291.35 10,455,790,000.00 6,291.35
Demais dias do período
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 2 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87
Sub-total 7,487.63 7,513.56 7,472.65 7,504.07 20,197,710,000.00 7,504.07
Total 13,776.37 13,814.92 13,749.64 13,795.42 30,653,500,000.00 13,795.42
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês
gt_tbl_extra |> gt_theme_538()
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Período open high low close volume adj_close
Últimos 5 dias
2010-12-31 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 1 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
Sub-total 6,288.74 6,301.36 6,276.99 6,291.35 10,455,790,000.00 6,291.35
Demais dias do período
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 2 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87
Sub-total 7,487.63 7,513.56 7,472.65 7,504.07 20,197,710,000.00 7,504.07
Total 13,776.37 13,814.92 13,749.64 13,795.42 30,653,500,000.00 13,795.42
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês
gt_tbl_extra |> gt_theme_dot_matrix()
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Período open high low close volume adj_close
Últimos 5 dias
2010-12-31 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 1 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
Sub-total 6,288.74 6,301.36 6,276.99 6,291.35 10,455,790,000.00 6,291.35
Demais dias do período
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 2 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87
Sub-total 7,487.63 7,513.56 7,472.65 7,504.07 20,197,710,000.00 7,504.07
Total 13,776.37 13,814.92 13,749.64 13,795.42 30,653,500,000.00 13,795.42
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês
gt_tbl_extra |> gt_theme_nytimes()
SP&500 - 2a Quinzena de Dezembro de 2010
Operações diárias da SP&500 durante 2a Quinzena de Dezembro de 2010
Período open high low close volume adj_close
Últimos 5 dias
2010-12-31 1256.76 1259.34 1254.19 1257.64 1799770000 1257.64
2010-12-30 1 1259.44 1261.09 1256.32 1257.88 1970720000 1257.88
2010-12-29 1258.78 1262.60 1258.78 1259.78 2214380000 1259.78
2010-12-28 1259.10 1259.90 1256.22 1258.51 2478450000 1258.51
2010-12-27 1254.66 1258.43 1251.48 1257.54 1992470000 1257.54
Sub-total 6,288.74 6,301.36 6,276.99 6,291.35 10,455,790,000.00 6,291.35
Demais dias do período
2010-12-23 1257.53 1258.59 1254.05 1256.77 2515020000 1256.77
2010-12-22 1254.94 1259.39 1254.94 1258.84 1285590000 1258.84
2010-12-21 1249.43 1255.82 1249.43 1254.60 3479670000 1254.60
2010-12-20 1245.76 1250.20 1241.51 1247.08 3548140000 1247.08
2010-12-17 1243.63 1245.81 1239.87 1243.91 4632470000 1243.91
2010-12-16 2 1236.34 1243.75 1232.85 1242.87 4736820000 1242.87
Sub-total 7,487.63 7,513.56 7,472.65 7,504.07 20,197,710,000.00 7,504.07
Total 13,776.37 13,814.92 13,749.64 13,795.42 30,653,500,000.00 13,795.42
Fonte: Iannone R, Cheng J, Schloerke B, Hughes E (2022). gt: Easily Create Presentation-Ready Display Tables. https://gt.rstudio.com/, https://github.com/rstudio/gt
1 Maior abertura do mês
2 Menor abertura do mês

Apresentamos aqui apenas algumas funções básicas deste poderoso pacote da R. Para maiores informações acesse:

https://cran.r-project.org/package=gt.