A Unidade 3 é estruturada considerando os seguintes tópicos:
- Manipulação e transformação de dados no R: funções para manipulação e tratamento de dados.
- Estatística descritiva e mineração de dados
Esta atividade deverá ser realizada até dia 09/11, quando teremos nosso segundo encontro síncrono. São propostas as seguintes atividades:
- Faça o download do arquivo disponível no link
- Resolva as questões.
- Gere um tipo de documento .Rmd de sua preferência.
- Envie por email (renataoliveira@gmail.com ou renataoliveira@cefetmg.br) o arquivo .Rmd e o arquivo gerado.
A(s) entrega(s) será(ão):
- Arquivos referentes à tarefa 4 desta atividade.
A poluição por plástico é um problema importante e crescente, afetando negativamente a saúde dos oceanos e da vida selvagem. Our World in Data tem muitos dados em vários níveis, em escala global, por país e ao longo do tempo.
Para este laboratório, nos concentramos nos dados de 2010.
Além disso, a National Geographic realizou um concurso de comunicação de visualização de dados sobre resíduos plásticos, como visto aqui.
Os dados estão no Link
Objetivos de aprendizagem
- Visualizar dados numéricos e categóricos e interpretar visualizações
- Recriação de visualizações
Pacotes
Usaremos o pacote tidyverse* para esta análise. Execute o seguinte código no Console para carregar este pacote.
library(tidyverse)
Dados
O conjunto de dados para esta tarefa pode ser encontrado no link a seguir, acessado por meio do comando:
#url_file <- "atalho no seu computador/plastic-waste.csv"
#plastic_waste <- read_csv(url_file)
#library(readr)
plastic_waste <- read_csv("D:/OneDrive - cefetmg.br/01_disciplinas/ERE/2020_2/R_adm/00_aulas/class07_dados_adm/data/plastic-waste.csv")
View(plastic_waste)
As descrições das variáveis são as seguintes:
code: código do paísentity: Nome do paíscontinent: Nome do continenteyear: Anogdp_per_cap: PIB per capita internacional 2011 $, taxaplastic_waste_per_cap: Quantidade de resíduos plásticos per capita em kg/diamismanaged_plastic_waste_per_cap: Quantidade de resíduos plásticos mal administrados per capita em kg/diamismanaged_plastic_waste: Toneladas de resíduos plásticos mal administradoscoastal_pop: Número de indivíduos que vivem no litoral/na costatotal_pop: População total de acordo com Gapminder
Warm up
-
Recorde que o RStudio está dividido em quatro painéis. Sem olhar, você pode nomeá-las todas e descrever brevemente seu propósito?
-
Verifique se o conjunto de dados foi carregado para o Ambiente. Quantas observações há no conjunto de dados? Ao clicar no conjunto de dados no Ambiente, você poderá inspecioná-lo com mais cuidado. Alternativamente, você pode digitar
View(plastic_waste)no Console para fazer isso. -
Dê uma rápida olhada nos dados e observe que há células que levam o valor
NA- o que isso significa?
Exercícios
Vamos começar dando uma olhada na distribuição de resíduos plásticos per capita em 2010.
ggplot(data = plastic_waste, aes(x = plastic_waste_per_cap)) +
geom_histogram(binwidth = 0.2)
Um país se destaca como uma observação incomum no topo da distribuição.
Uma maneira de identificar este país é filtrar os dados para países onde os resíduos plásticos per capita são maiores que 3,5 kg/pessoa.
plastic_waste %>%
filter(plastic_waste_per_cap > 3.5)
Você esperava este resultado?
Você poderia considerar fazer alguma pesquisa sobre Trinidad e Tobago para ver por que os resíduos plásticos per capita são tão altos lá, ou se isto é um erro de dados.
- Faça um histograma para a distribuição de resíduos plásticos per capita desagregados (facet) por continente. O que você pode dizer sobre como os continentes se comparam uns aos outros em termos de seus resíduos plásticos per capita?
ggplot(data = plastic_waste, aes(x = plastic_waste_per_cap)) +
geom_histogram() +
facet_wrap(~ continent)
Outra forma de visualizar os dados numéricos é utilizando gráficos de densidade.
ggplot(data = plastic_waste, aes(x = plastic_waste_per_cap)) +
geom_density()
E comparar as distribuições entre continentes por curvas de densidade de coloração por continente.
ggplot(data = plastic_waste,
mapping = aes(x = plastic_waste_per_cap,
color = continent)) +
geom_density()
O gráfico resultante pode ser um pouco difícil de ler, então vamos também preencher as curvas com cores.
ggplot(data = plastic_waste,
mapping = aes(x = plastic_waste_per_cap,
color = continent,
fill = continent)) +
geom_density()
A sobreposição de cores torna difícil dizer o que está acontecendo com as distribuições nos continentes plotados devido a continentes plotados sobre eles.
Podemos mudar o nível de transparência da cor de preenchimento para ajudar nisso.
O argumento alpha recebe valores entre 0 e 1: 0 é completamente transparente e 1 é completamente opaco.
Não há como dizer qual valor funcionará melhor, então você só precisa tentar alguns valores.
ggplot(data = plastic_waste,
mapping = aes(x = plastic_waste_per_cap,
color = continent,
fill = continent)) +
geom_density(alpha = 0.5)
Isto ainda não parece ótimo…
-
Recriar as parcelas de densidade acima usando um nível
alphadiferente (inferior) que funcione melhor para exibir as curvas de densidade para todos os continentes. -
Descreva porque definimos a “cor” e “preenchimento” das curvas através do mapeamento estético do gráfico, mas definimos o nível “alpha” como uma característica da geometria de plotagem.
E ainda outra maneira de visualizar esta relação é utilizando gráficos boxplot.
ggplot(data = plastic_waste,
mapping = aes(x = continent,
y = plastic_waste_per_cap)) +
geom_boxplot()
- Converta os boxplot da tarefa anterior para plot de violino. O que os gráficos de violino revelam que os boxplot não revelam? Quais características são aparentes nas parcelas de box mas não nas parcelas de violino?
ggplot(data = plastic_waste,
mapping = aes(x = continent,
y = plastic_waste_per_cap)) +
geom_violin()
-
Visualizar a relação entre os resíduos plásticos per capita e os resíduos plásticos mal administrados per capita usando um gráfico de dispersão. Descrever a relação.
-
Colorir os pontos no gráfico de dispersão por continente. Parece haver alguma distinção clara entre continentes com relação a como os resíduos plásticos per capita e os resíduos plásticos mal administrados per capita estão associados?
-
Visualize a relação entre os resíduos plásticos per capita e a população total, assim como os resíduos plásticos per capita e a população costeira. Você precisará fazer duas parcelas separadas. Algum destes pares de variáveis parece estar associado de forma mais linear?
plastic_waste %>%
ggplot(aes(x = mismanaged_plastic_waste_per_cap, y = plastic_waste_per_cap, color = continent)) +
geom_point() +
scale_color_viridis_d() +
labs(x = "Resíduos plásticos mal administrados per capita",
y = "Resíduos plásticos per capita",
color = "Continente",
title = "Resíduos plásticos per capita e os resíduos plásticos mal administrados per capita",
subtitle = "por continente") +
theme_minimal()
plastic_waste %>%
ggplot(aes(x = coastal_pop, y = plastic_waste_per_cap, color = continent)) +
geom_point() +
scale_color_viridis_d() +
labs(x = "Resíduos plásticos mal administrados per capita",
y = "Resíduos plásticos per capita",
color = "Continente",
title = "Resíduos plásticos per capita e os resíduos plásticos mal administrados per capita",
subtitle = "por continente") +
theme_minimal()
plastic_waste %>%
ggplot(aes(x = total_pop, y = plastic_waste_per_cap, color = continent)) +
geom_point() +
scale_color_viridis_d() +
labs(x = "Resíduos plásticos mal administrados per capita",
y = "Resíduos plásticos per capita",
color = "Continente",
title = "Resíduos plásticos per capita e os resíduos plásticos mal administrados per capita",
subtitle = "por continente") +
theme_minimal()
- Recrie o seguinte gráfico e interprete o que você vê no contexto dos dados.
plastic_waste %>%
mutate(coastal_pop_prop = coastal_pop / total_pop) %>%
filter(plastic_waste_per_cap < 3) %>%
ggplot(aes(x = coastal_pop_prop, y = plastic_waste_per_cap, color = continent)) +
geom_point() +
geom_smooth(color = "black") +
scale_color_viridis_d() +
labs(x = "Coastal population proportion (Coastal / total population)",
y = "Plastic waste per capita ",
color = "Continent",
title = "Plastic waste vs. coastal population proportion",
subtitle = "by continent") +
theme_minimal()