Formatação de gráficos e tabelas do R
Visualização de dados
Tabela
Formatação
Tabela
Gráfico
Introdução
Se você usar o código ou as informações deste guia em um trabalho publicado, solicito que cite-o como uma fonte nas referências bibliográficas.
DUTT-ROSS,Steven Formatação de gráficos e tabelas do R. Rio de Janeiro. 2020. mimeo. Disponível em: https://blog.metodosquantitativos.com/summary/
Você não precisa usar o R… pode usar o Python também.
1. Formatação de gráficos e tabelas do R
Formatar Tabelas é algo muito importante. É também, o primeiro passo para que você possa criar análises.
Mas deixemos de conversa e vamos, portanto, formatar nosso data.frame. Neste exemplo quero criar uma tabela por gênero (Feminino/Masculino).
2. Inspiração + dados
Usaremos o banco de dados do Titanic.
Disponível publicamente no Journal of Statistics Education.
Dados originais podem ser baixados do artigo The "Unusual Episode" Data Revisited
Os dados surgiram do workshop STATS "Statistical Thinking And Teaching Statistics"
Foi analisado por Dawson (1995), Simonoff (1997), e por outros.
3. Carregar os dados
Esses são os dados de um periódico de educação estatística. Eles já estão prontos para análise estatística. Todavia, posso dizer por experiência que os dados precisam ser verificados todas as vezes que não sair de um livro didático.
Use este código para ler o banco de dados disponível em https://github.com/DATAUNIRIO/Base_de_dados
load(url("https://github.com/DATAUNIRIO/Base_de_dados/raw/master/Titanic.RData"))
ls()
O banco de dados se chama Titanic.RData e está armazenado no repositório de bases de dados do curso de estatística. Você pode usar esse código se quiser ler o arquivo RData local.
load("C:/SEU DIRETÓRIO ATÉ O ARQUIVO/Titanic.RData")
4. Uma tabela tradicional do
table(Titanic$Sexo)
Essa´é uma tabela simples e fácil. Temos muitas opções de tabelas no . Entre as diversas opções, sou fã dos pacotes gt e formattable. Todavia, hoje eu gostaria de explorar algo diferente. Gostaria de inserir algumas figuras na tabela.
5. Colocando uma figura em um gráfico do
library(ggtext)
library(dplyr)
labels <- c(
Feminino = "<img src='https://raw.githubusercontent.com/DATAUNIRIO/CSS/master/img/freepik/female.png'
width='100' /><br>*Feminino*",
Masculino = "<img src='https://raw.githubusercontent.com/DATAUNIRIO/CSS/master/img/freepik/male.png'
width='100' /><br>*Masculino*"
)
ggplot(Titanic, aes(Sexo)) +
geom_bar()+
scale_x_discrete(
name = NULL,
labels = labels
) +
theme(
axis.text.x = element_markdown(color = "black", size = 11)
)
6. Colocando uma outra figura
labels2 <- c(
Feminino = "<img src='https://raw.githubusercontent.com/DATAUNIRIO/CSS/master/img/freepik/woman.png'
width='100' /><br>*Feminino*",
Masculino = "<img src='https://raw.githubusercontent.com/DATAUNIRIO/CSS/master/img/freepik/man.png'
width='100' /><br>*Masculino*"
)
ggplot(Titanic, aes(Sexo,fill="Pessoas \n no Titanic")) +
geom_bar()+
scale_x_discrete(
name = "Pessoas",
labels = labels2
) +
theme(
axis.text.x = element_markdown(color = "black", size = 11)
)
7. Colocando uma figura em uma tabela do
Feminino <- function(x) web_image('https://raw.githubusercontent.com/DATAUNIRIO/CSS/master/img/freepik/female.png', height = 100)
Masculino <- function(x) web_image('https://raw.githubusercontent.com/DATAUNIRIO/CSS/master/img/freepik/male.png', height = 100)
cap <- 'Tabela 1 - sobreviventes do Titanic por sexo'
datasummary(Sexo + 1 ~ (N = 1) + Percent(),
data = Titanic,
output = 'gt',
fmt = NULL,
title = cap,
notes = 'Fonte: DATAUNIRIO. Artwork by Freepik',
sparse_header = TRUE) %>%
text_transform(locations = cells_body(columns = 1, rows = 1), fn = Feminino) %>%
text_transform(locations = cells_body(columns = 1, rows = 2), fn = Masculino) %>%
tab_style(style = list(cell_text(color = "#FF6700", size = 'x-large')), locations = cells_body(rows = 1)) %>%
tab_style(style = list(cell_text(color = "#CD51D1", size = 'x-large')), locations = cells_body(rows = 2)) %>%
tab_options(table_body.hlines.width = 0, table.border.top.width = 0, table.border.bottom.width = 0) %>%
cols_align('center', columns = 2:3)
Tabela 1 - sobreviventes do Titanic por sexo | ||
---|---|---|
Sexo | N | Percent |
470 | 21.36364 | |
1730 | 78.63636 | |
All | 2200 | 100.00000 |
Fonte: DATAUNIRIO. Artwork by Freepik |
8. Colocando uma outra figura
Feminino <- function(x) web_image('https://raw.githubusercontent.com/DATAUNIRIO/CSS/master/img/freepik/woman.png', height = 100)
Masculino <- function(x) web_image('https://raw.githubusercontent.com/DATAUNIRIO/CSS/master/img/freepik/man.png', height = 100)
cap <- 'Tabela 2 - sobreviventes do Titanic por sexo com avatar'
datasummary(Sexo + 1 ~ (N = 1) + Percent(),
data = Titanic,
output = 'gt',
fmt = NULL,
title = cap,
notes = 'Fonte: DATAUNIRIO. Artwork by Freepik',
sparse_header = TRUE) %>%
text_transform(locations = cells_body(columns = 1, rows = 1), fn = Feminino) %>%
text_transform(locations = cells_body(columns = 1, rows = 2), fn = Masculino) %>%
tab_style(style = list(cell_text(color = "pink", size = 'x-large')), locations = cells_body(rows = 1)) %>%
tab_style(style = list(cell_text(color = "blue", size = 'x-large')), locations = cells_body(rows = 2)) %>%
tab_options(table_body.hlines.width = 0, table.border.top.width = 0, table.border.bottom.width = 0) %>%
cols_align('center', columns = 2:3)
Tabela 2 - sobreviventes do Titanic por sexo com avatar | ||
---|---|---|
Sexo | N | Percent |
470 | 21.36364 | |
1730 | 78.63636 | |
All | 2200 | 100.00000 |
Fonte: DATAUNIRIO. Artwork by Freepik |
Para saber sobre outras funções no e no Python, você pode acessar o meu blog https://blog.metodosquantitativos.com/ ou o meu site pessoal https://steven.metodosquantitativos.com/