|
4 weeks ago | |
---|---|---|
.. | ||
README.md | 4 weeks ago |
README.md
Visualizar Relações: Tudo Sobre Mel 🍯
![]() |
---|
Visualizar Relações - Sketchnote por @nitya |
Continuando com o foco na natureza da nossa pesquisa, vamos descobrir visualizações interessantes para mostrar as relações entre vários tipos de mel, de acordo com um conjunto de dados derivado do Departamento de Agricultura dos Estados Unidos.
Este conjunto de dados, com cerca de 600 itens, exibe a produção de mel em muitos estados dos EUA. Por exemplo, é possível observar o número de colónias, rendimento por colónia, produção total, stocks, preço por libra e valor do mel produzido em um determinado estado de 1998 a 2012, com uma linha por ano para cada estado.
Será interessante visualizar a relação entre a produção anual de um estado e, por exemplo, o preço do mel nesse estado. Alternativamente, pode-se visualizar a relação entre o rendimento de mel por colónia nos estados. Este período cobre o devastador 'CCD' ou 'Colony Collapse Disorder', observado pela primeira vez em 2006 (http://npic.orst.edu/envir/ccd.html), tornando este conjunto de dados particularmente relevante para estudo. 🐝
Questionário pré-aula
Nesta lição, pode usar o ggplot2, que já utilizou anteriormente, como uma boa biblioteca para visualizar relações entre variáveis. Particularmente interessante é o uso das funções geom_point
e qplot
do ggplot2, que permitem criar gráficos de dispersão e gráficos de linha para visualizar rapidamente 'relações estatísticas', ajudando o cientista de dados a compreender melhor como as variáveis se relacionam.
Gráficos de dispersão
Use um gráfico de dispersão para mostrar como o preço do mel evoluiu, ano após ano, por estado. O ggplot2, utilizando ggplot
e geom_point
, agrupa convenientemente os dados dos estados e exibe pontos de dados para dados categóricos e numéricos.
Vamos começar importando os dados e o Seaborn:
honey=read.csv('../../data/honey.csv')
head(honey)
Repare que os dados sobre mel têm várias colunas interessantes, incluindo ano e preço por libra. Vamos explorar esses dados, agrupados por estado dos EUA:
estado | numcol | rendimento_por_col | produção_total | stocks | preço_por_libra | valor_prod | ano |
---|---|---|---|---|---|---|---|
AL | 16000 | 71 | 1136000 | 159000 | 0.72 | 818000 | 1998 |
AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
AR | 53000 | 65 | 3445000 | 1688000 | 0.59 | 2033000 | 1998 |
CA | 450000 | 83 | 37350000 | 12326000 | 0.62 | 23157000 | 1998 |
CO | 27000 | 72 | 1944000 | 1594000 | 0.7 | 1361000 | 1998 |
FL | 230000 | 98 | 22540000 | 4508000 | 0.64 | 14426000 | 1998 |
Crie um gráfico de dispersão básico para mostrar a relação entre o preço por libra de mel e o estado de origem nos EUA. Ajuste o eixo y
para ser alto o suficiente para exibir todos os estados:
library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
Agora, mostre os mesmos dados com um esquema de cores de mel para ilustrar como o preço evolui ao longo dos anos. Pode fazer isso adicionando o parâmetro 'scale_color_gradientn' para mostrar a mudança, ano após ano:
✅ Saiba mais sobre o scale_color_gradientn - experimente um esquema de cores arco-íris bonito!
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
Com esta mudança de esquema de cores, é possível ver claramente uma forte progressão ao longo dos anos no preço do mel por libra. De facto, ao verificar um conjunto de amostra nos dados (escolha um estado, como o Arizona), pode-se observar um padrão de aumento de preço ano após ano, com poucas exceções:
estado | numcol | rendimento_por_col | produção_total | stocks | preço_por_libra | valor_prod | ano |
---|---|---|---|---|---|---|---|
AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
AZ | 52000 | 62 | 3224000 | 1548000 | 0.62 | 1999000 | 1999 |
AZ | 40000 | 59 | 2360000 | 1322000 | 0.73 | 1723000 | 2000 |
AZ | 43000 | 59 | 2537000 | 1142000 | 0.72 | 1827000 | 2001 |
AZ | 38000 | 63 | 2394000 | 1197000 | 1.08 | 2586000 | 2002 |
AZ | 35000 | 72 | 2520000 | 983000 | 1.34 | 3377000 | 2003 |
AZ | 32000 | 55 | 1760000 | 774000 | 1.11 | 1954000 | 2004 |
AZ | 36000 | 50 | 1800000 | 720000 | 1.04 | 1872000 | 2005 |
AZ | 30000 | 65 | 1950000 | 839000 | 0.91 | 1775000 | 2006 |
AZ | 30000 | 64 | 1920000 | 902000 | 1.26 | 2419000 | 2007 |
AZ | 25000 | 64 | 1600000 | 336000 | 1.26 | 2016000 | 2008 |
AZ | 20000 | 52 | 1040000 | 562000 | 1.45 | 1508000 | 2009 |
AZ | 24000 | 77 | 1848000 | 665000 | 1.52 | 2809000 | 2010 |
AZ | 23000 | 53 | 1219000 | 427000 | 1.55 | 1889000 | 2011 |
AZ | 22000 | 46 | 1012000 | 253000 | 1.79 | 1811000 | 2012 |
Outra forma de visualizar esta progressão é usar o tamanho, em vez da cor. Para utilizadores daltónicos, esta pode ser uma opção melhor. Edite a sua visualização para mostrar o aumento do preço através do aumento da circunferência dos pontos:
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(aes(size = year),colour = "blue") +
scale_size_continuous(range = c(0.25, 3))
Pode ver o tamanho dos pontos aumentando gradualmente.
Será este um caso simples de oferta e procura? Devido a fatores como mudanças climáticas e colapso de colónias, há menos mel disponível para compra ano após ano, e assim o preço aumenta?
Para descobrir uma correlação entre algumas das variáveis deste conjunto de dados, vamos explorar alguns gráficos de linha.
Gráficos de linha
Pergunta: Existe um aumento claro no preço do mel por libra ano após ano? Pode descobrir isso mais facilmente criando um único gráfico de linha:
qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab = "priceperlb")
Resposta: Sim, com algumas exceções por volta do ano de 2003:
Pergunta: Bem, em 2003 também podemos ver um pico na oferta de mel? E se observarmos a produção total ano após ano?
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
Resposta: Não exatamente. Se observar a produção total, parece que ela realmente aumentou nesse ano específico, embora, de forma geral, a quantidade de mel produzida esteja em declínio durante esses anos.
Pergunta: Nesse caso, o que poderia ter causado o pico no preço do mel por volta de 2003?
Para descobrir isso, pode explorar uma grade de facetas.
Grades de facetas
Grades de facetas utilizam uma faceta do seu conjunto de dados (neste caso, pode escolher 'ano' para evitar produzir muitas facetas). O Seaborn pode então criar um gráfico para cada uma dessas facetas das coordenadas x e y escolhidas, facilitando a comparação visual. O ano de 2003 destaca-se neste tipo de comparação?
Crie uma grade de facetas utilizando facet_wrap
, conforme recomendado pela documentação do ggplot2.
ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
geom_line() + facet_wrap(vars(year))
Nesta visualização, pode comparar o rendimento por colónia e o número de colónias ano após ano, lado a lado, com uma disposição de 3 colunas:
Para este conjunto de dados, nada particularmente se destaca em relação ao número de colónias e ao seu rendimento, ano após ano e estado por estado. Existe uma forma diferente de encontrar uma correlação entre estas duas variáveis?
Gráficos de linha dupla
Experimente um gráfico de linha múltipla sobrepondo dois gráficos de linha um sobre o outro, utilizando as funções par
e plot
do R. Vamos plotar o ano no eixo x e exibir dois eixos y. Assim, exibiremos o rendimento por colónia e o número de colónias, sobrepostos:
par(mar = c(5, 4, 4, 4) + 0.3)
plot(honey$year, honey$numcol, pch = 16, col = 2,type="l")
par(new = TRUE)
plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axes = FALSE, xlab = "", ylab = "",type="l")
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
Embora nada salte aos olhos em torno do ano de 2003, isso permite terminar esta lição com uma nota um pouco mais feliz: embora o número de colónias esteja em declínio geral, ele está a estabilizar, mesmo que o rendimento por colónia esteja a diminuir.
Força, abelhas!
🐝❤️
🚀 Desafio
Nesta lição, aprendeu um pouco mais sobre outros usos de gráficos de dispersão e grades de linha, incluindo grades de facetas. Desafie-se a criar uma grade de facetas utilizando um conjunto de dados diferente, talvez um que tenha usado antes destas lições. Note quanto tempo leva para criar e como precisa ter cuidado com o número de grades que deseja desenhar utilizando estas técnicas.
Questionário pós-aula
Revisão & Autoestudo
Gráficos de linha podem ser simples ou bastante complexos. Faça uma leitura na documentação do ggplot2 sobre as várias formas de construí-los. Tente melhorar os gráficos de linha que construiu nesta lição com outros métodos listados na documentação.
Tarefa
Aviso Legal:
Este documento foi traduzido utilizando o serviço de tradução por IA Co-op Translator. Embora nos esforcemos para garantir a precisão, tenha em atenção que traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autoritária. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes da utilização desta tradução.