Acredita-se que um general famoso tenha dito: “Um bom esboço é melhor do que um longo discurso”. Esse conselho pode ter vindo do campo de batalha, mas é aplicável em muitas outras áreas – incluindo ciência de dados. “Desenhar” nossos dados visualizando-os usando ggplot2 em R é mais impactante do que simplesmente descrever as tendências que encontramos.

Esboçar o projeto de uma casa comunica muito mais claramente do que tentar descrevê-la com palavras. A mesma coisa geralmente é verdadeira para dados – e é aí que entra a visualização de dados com ggplot2!
É por isso que nós visualizar dados. Visualizamos dados porque é mais fácil aprender com algo que podemos ver em vez de ler. E, felizmente, para analistas e cientistas de dados que usam R, há um pacote tidyverse chamado ggplot2 que torna a visualização de dados muito fácil!
Nesta postagem do blog, aprenderemos como pegar alguns dados e produzir uma visualização usando R. Para trabalhar com isso, é melhor se você já tiver um conhecimento da sintaxe de programação R, mas não precisa ser um especialista ou ter alguma experiência anterior em trabalhar com ggplot2.
Contents
Apresentando os dados
O National Center for Health Statistics rastreia as tendências de mortalidade nos Estados Unidos desde 1900. Eles compilaram dados sobre a expectativa de vida e a taxa de mortalidade de cidadãos dos Estados Unidos.
Gostaríamos de saber como a expectativa de vida tem mudado ao longo do tempo. Com os avanços da medicina e da tecnologia, esperaríamos que a expectativa de vida aumentasse, mas não saberemos com certeza até dar uma olhada!
Se você gostaria de reproduzir os gráficos que criaremos nesta postagem do blog, baixe o conjunto de dados aqui e siga em frente!
(Não tem certeza de como você pode trabalhar com R no seu computador pessoal? Veja como começar a usar o RStudio!)
O que há em um gráfico?
Antes de mergulharmos na postagem, algum contexto é necessário. Existem muitos tipos de visualizações por aí, mas a maioria deles se resumirá ao seguinte:
Podemos dividir esse enredo em seus blocos de construção fundamentais:
- Os dados usados para criar o gráfico:
- Os eixos da trama:
- As formas geométricas usadas para visualizar os dados. Neste caso, uma linha:
- Os rótulos ou anotações que ajudarão o leitor a entender o enredo:
Quebrando um enredo em camadas é importante porque é como o ggplot2
pacote entende e constrói um enredo. o ggplot2
pacote é um dos pacotes no tidyverse
, e é responsável pela visualização. Ao continuar lendo a postagem, mantenha essas camadas em mente.
Importando os Dados
Para iniciar a visualização, precisamos colocar os dados em nosso espaço de trabalho. Nós vamos trazer o tidyverse
pacotes e usar o read_csv()
função para importar os dados. Temos nossos dados nomeados como life_expec.csv
, portanto, você precisará renomeá-lo de acordo com o nome do arquivo.
library(tidyverse)
life_expec read_csv("life_expec.csv")
Vamos ver com quais dados estamos trabalhando:
colnames(life_expec)
[1] "Year" "Race" “Sex" "Avg_Life_Expec" "Age_Adj_Death_Rate"
Podemos ver que o tempo é codificado em termos de anos por meio do Year
coluna. Existem duas colunas que nos permitem distinguir entre diferentes categorias de raça e sexo. Finalmente, as duas últimas colunas correspondem à expectativa de vida e taxa de mortalidade.
Vamos dar uma olhada rápida nos dados para ver como estão em um determinado ano:
life_expec %>%
filter(Year == 2000)
Para o ano de 2000, existem nove pontos de dados:
## # A tibble: 9 x 5
## Year Race Sex Avg_Life_Expec Age_Adj_Death_Rate
##
## 1 2000 All Races Both Sexes 76.8 869
## 2 2000 All Races Female 79.7 731.
## 3 2000 All Races Male 74.3 1054.
## 4 2000 Black Both Sexes 71.8 1121.
## 5 2000 Black Female 75.1 928.
## 6 2000 Black Male 68.2 1404.
## 7 2000 White Both Sexes 77.3 850.
## 8 2000 White Female 79.9 715.
## 9 2000 White Male 74.7 1029.
Um ano tem nove linhas diferentes, cada uma correspondendo a uma divisão demográfica diferente. Para esta visualização, vamos nos concentrar nos Estados Unidos em geral, então precisaremos filtrar os dados de acordo:
life_expec life_expec %>%
filter(Race == "All Races", Sex == "Both Sexes")
Os dados estão em um bom lugar, então podemos canalizá-los para um ggplot()
função para começar a criar um gráfico. Nós usamos o ggplot()
função para indicar que queremos criar um gráfico.
Este código produz um gráfico em branco (como vemos abaixo). Mas agora “sabe” usar o life_expec
dados, embora não os vejamos mapeados ainda.
Construindo os Machados
Agora que preparamos os dados, podemos começar a construir nossa visualização. A próxima camada que precisamos estabelecer são os eixos. Estamos interessados em observar como a expectativa de vida muda com o tempo, então isso indica quais são nossos dois eixos: Year
e Avg_Life_Expec
.
Para especificar os eixos, precisamos usar o aes()
função. aes
é a abreviação de “estética”, e é onde dizemos ggplot
o que colunas queremos usar para diferentes partes da trama. Estamos tentando olhar para a expectativa de vida ao longo do tempo, então isso significa que Year
irá para o x-axis
e Avg_Life_Expec
irá para o eixo y.
life_expec %>%
ggplot(aes(x = Year, y = Avg_Life_Expec))
Com a adição do aes()
função, o gráfico agora sabe quais colunas atribuir aos eixos:
Mas observe que ainda não há nada no enredo! Ainda precisamos contar ggplot()
que tipo de formas usar para visualizar as relações entre Year
e Avg_Life_Expec
.
Especificando Geoms
Normalmente, quando pensamos em visualizações, normalmente pensamos sobre o tipo de gráfico, pois são realmente as formas que vemos que nos dizem a maior parte das informações. Enquanto o ggplot2
pacote nos dá muita flexibilidade em termos de escolha de uma forma para desenhar os dados, vale a pena levar algum tempo para considerar qual é melhor para a nossa pergunta.
Estamos tentando visualizar como a expectativa de vida mudou ao longo do tempo. Isso significa que deve haver uma maneira de compararmos o passado diretamente com o futuro. Em outras palavras, queremos uma forma que ajude a mostrar uma relação entre dois anos consecutivos. Para isso, um gráfico de linha é ótimo.
Para criar um gráfico de linha com ggplot()
, nós usamos o geom_line()
função. UMA geom
é o nome da forma específica que queremos usar para visualizar os dados. Todas as funções usadas para desenhar essas formas têm geom
na frente deles. geom_line()
cria um gráfico de linha, geom_point()
cria um gráfico de dispersão e assim por diante.
life_expec %>%
ggplot(aes(x = Year, y = Avg_Life_Expec)) +
geom_line()
Observe como após o uso do ggplot()
função, começamos a adicionar mais camadas a ela usando um +
placa. É importante observar isso porque usamos %>%
contar ggplot()
quais dados funcionar. Depois de usando ggplot()
, nós usamos +
para adicionar mais camadas ao gráfico.
Este gráfico é exatamente o que estávamos procurando! Olhando para a tendência geral, a expectativa de vida cresceu com o tempo.
Poderíamos interromper o gráfico aqui se estivéssemos apenas olhando os dados rapidamente, mas raramente é o caso. O mais comum é que você criará uma visualização para um relatório ou para outras pessoas de sua equipe. Nesse caso, o enredo não está completo: se o entregássemos a um colega sem contexto, eles não entenderiam o enredo. Idealmente, todos os seus gráficos devem ser capazes de se explicar por meio de anotações e títulos.
Adicionando um Título e Rótulos de Eixo
Atualmente, o gráfico mantém os nomes das colunas como rótulos para ambos os eixos. Isso é suficiente para Year
, mas queremos mudar o eixo y. Para alterar os rótulos dos eixos de um gráfico, podemos usar o labs()
função e adicione-a como uma camada no gráfico. labs()
pode alterar os rótulos dos eixos e também o título, portanto, vamos incorporar isso aqui.
life_expec %>%
ggplot(aes(x = Year, y = Avg_Life_Expec)) +
geom_line() +
labs(
title = "United States Life Expectancy: 100 Years of Change",
y = "Average Life Expectancy (Years)"
)
Nosso gráfico final polido é:
Conclusão: ggplot2 é poderoso!
Em apenas algumas linhas de código, produzimos uma ótima visualização que nos diz tudo o que precisamos saber sobre a expectativa de vida da população em geral nos Estados Unidos. A visualização é uma habilidade essencial para todos os analistas de dados, e R torna mais fácil pegá-la.
Confira nosso caminho Analista de dados em R se você estiver interessado em aprender mais! O caminho Analista de dados em R inclui um curso sobre visualização de dados em R usando ggplot2
, onde você aprenderá como:
Christian é atualmente um estudante da Universidade da Califórnia em San Diego em busca de um doutorado em bioestatística.
A postagem Visualização de dados em R com ggplot2: um tutorial para iniciantes apareceu primeiro no Dataquest.
Relacionados