Atividade 3 - Visualização de Dados

Author

Luana

Chegou a hora de fixar o nosso aprendizado sobre a aula de gráficos!

Para isso, vamos usar diferentes conjunto de dados do tidytuesday

library(ggplot2)
library(ggridges)
library(tidyverse)
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.2     ✔ readr     2.1.4
✔ forcats   1.0.0     ✔ stringr   1.5.0
✔ lubridate 1.9.2     ✔ tibble    3.2.1
✔ purrr     1.0.1     ✔ tidyr     1.3.0
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors

Opção 2

Utilizando os dados de produção de ovos nos EUA faça um gráfico comparando a produtividade dos diferentes tipos de processos e dos diferentes tipos de produtos.

produtividade<-read.csv("eggp.csv")
head(produtividade)
  X mês.observado   tipo_do_produto processo n.de.galinhas  n.de.ovos
1 1    2016-07-31 ovos de incubação    todos      57975000 1147000000
2 2    2016-08-31 ovos de incubação    todos      57595000 1142700000
3 3    2016-09-30 ovos de incubação    todos      57161000 1093300000
4 4    2016-10-31 ovos de incubação    todos      56857000 1126700000
5 5    2016-11-30 ovos de incubação    todos      57116000 1096600000
6 6    2016-12-31 ovos de incubação    todos      57750000 1132900000
  produtividade
1      19.78439
2      19.84026
3      19.12668
4      19.81638
5      19.19952
6      19.61732
ovos_prod<-ggplot(produtividade,aes(x=produtividade, y=processo, fill=tipo_do_produto))+ geom_density_ridges(alpha=0.5)+ 
scale_fill_manual(values=c("firebrick", "chocolate1"), labels= c("Ovos de Mesa", "ovos de incubação")) + labs(title="Produtividade (ovos/galinhas)", subtitle = "Comparação entre produção orgânica e não orgânica")+theme_ridges()+
                    theme(axis.title = element_blank(),
                          legend.title = element_blank(),
                          legend.position = c(0.9),
                          panel.background = element_rect(),
                          legend.background = element_blank())

ovos_prod
Picking joint bandwidth of 0.242

Opção 8

Use qualquer dataset do tidytuesday para fazer algum gráfico! Pense no que você quer visualizar com os dados e como fazer para plotar com as variáveis disponíveis (as possibilidades são inúmeras).

Base de dados

Escolhi o dataset sobre tornados no EUA.

  1. Abri o dataset.

  2. Fiz a limpeza da planilha: removi algumas variávei e selecionei apenas as que queria trabalhar. Usei slice pra selecionar os fatores (as linhas) a partir de 40508 até 68698, selecinando observações do 2000 a 2022.

  3. Montei um painel com os gráficos que demonstram o número de tornados dos EUA

tornados <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2023/2023-05-16/tornados.csv')
Rows: 68693 Columns: 27
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr   (2): tz, st
dbl  (21): om, yr, mo, dy, stf, mag, inj, fat, loss, slat, slon, elat, elon,...
lgl   (1): fc
dttm  (1): datetime_utc
date  (1): date
time  (1): time

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
torn<- tornados %>% slice(40508:68693) %>% select(yr, inj, fat, mag) %>% filter(mag > 0 & inj >1)

tornbar<-ggplot(torn, aes(x=(mag))) +geom_bar()+facet_wrap(~yr, scales ="free_y")+guides(fill="none")+
  labs(title = "Número de tornados nos EUA de acordo com a maginitude", x="Magnitude", y="Número de tornados")+
  theme_minimal()+
  theme(plot.background=element_rect(fill= "tan2", color=NA), panel.background=element_rect(fill="white", color="white"))+ xlim(0, 5) + ylim(0,30) 

tornbar
Warning: Removed 9 rows containing missing values (`geom_bar()`).

Qual o ano que apresentou o maior número de fatalidades?

Pra saber o ano com o maior número de fatalidades, foram feitos quatro gráficos de barra de acordo com o ano (x) e número de fatalidades (y).

tornfat<- torn %>% mutate_if(is.numeric, as.factor) %>% arrange(desc(fat)) %>% slice(1:100)

fatal_bar<-ggplot(tornfat, aes(x=yr, y=as.numeric(fat))) +geom_bar(aes(fill=mag), stat="identity")+guides(fill="none")+ facet_wrap(~mag)+
  labs(title = "Número de fatalidades causadas por tornados", subtitle = "De acordo com a magnitude (2 a 5) e o ano (2000 a 2022)", x="Ano", y="Número de fatalidades")+theme_minimal()+theme(axis.text.x = element_text(family = "serif", face = "italic", color = "black", size = 10, angle = 90, hjust=1))+theme(axis.title.x = element_blank(),plot.background=element_rect(fill= "peachpuff3", color= NA), panel.background=element_rect(fill="white", color="black"))

fatal_bar

Ver se o número de injúrias e fatalidades tem correlação:

point_fat<-ggplot(torn,(aes(x=inj,y=fat)))+
  geom_point(aes(color=mag, alpha=0.5, size=2))+
  geom_smooth(method = "lm", color="black", se=F)+  scale_x_continuous(limits=c(-1,1500), name = "Injúrias") +  scale_y_continuous(limits = c(-1,100),name = "Fatalidades")

point_fat
`geom_smooth()` using formula = 'y ~ x'
Warning: Removed 1 rows containing non-finite values (`stat_smooth()`).
Warning: Removed 1 rows containing missing values (`geom_point()`).