O gganimate é um pacote que possui recurso que possibilita a criação de gráficos com animações, ou seja, um gif. Com esse recurso é possível trazer mais interatividade as apresentações. Para mais informações acesse a documentação do pacote no link https://cran.r-project.org/web/packages/gganimate/gganimate.pdf.

Instalando pacotes e o dataset que utilizaremos ao longo das análises

install.packages(c("ggplot2","gganimate","gapminder"))

O gapminder é um dataset ou conjunto de dados disponível para análise, ele possui informações sobre o produto interno bruto do período de 1952 a 2007 dos países do continente da Ásia, Américas, África, Europa e Oceania. A seguir iremos explorar um pouco mais sobre tais, ficou curioso acesse a documentação deste dataset para mais informações https://cran.r-project.org/web/packages/gapminder/gapminder.pdf.

library(gapminder)
head(gapminder)
## # A tibble: 6 x 6
##   country     continent  year lifeExp      pop gdpPercap
##   <fct>       <fct>     <int>   <dbl>    <int>     <dbl>
## 1 Afghanistan Asia       1952    28.8  8425333      779.
## 2 Afghanistan Asia       1957    30.3  9240934      821.
## 3 Afghanistan Asia       1962    32.0 10267083      853.
## 4 Afghanistan Asia       1967    34.0 11537966      836.
## 5 Afghanistan Asia       1972    36.1 13079460      740.
## 6 Afghanistan Asia       1977    38.4 14880372      786.

O str permitirá a consulta rápida sobre os tipos das variáveis dentro do conjunto de dados

str(gapminder)
## Classes 'tbl_df', 'tbl' and 'data.frame':    1704 obs. of  6 variables:
##  $ country  : Factor w/ 142 levels "Afghanistan",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ continent: Factor w/ 5 levels "Africa","Americas",..: 3 3 3 3 3 3 3 3 3 3 ...
##  $ year     : int  1952 1957 1962 1967 1972 1977 1982 1987 1992 1997 ...
##  $ lifeExp  : num  28.8 30.3 32 34 36.1 ...
##  $ pop      : int  8425333 9240934 10267083 11537966 13079460 14880372 12881816 13867957 16317921 22227415 ...
##  $ gdpPercap: num  779 821 853 836 740 ...

A seguir o calculo da expectativa média de vida por continente

library(knitr)
gap_lif<- aggregate(lifeExp ~ continent, gapminder, median) 
kable(gap_lif)
continent lifeExp
Africa 47.7920
Americas 67.0480
Asia 61.7915
Europe 72.2410
Oceania 73.6650

A seguir veremos a expectativa média de vida por continente ao longo dos anos. Com o pacote dplyr é possível agrupar e sumarizar informações de maneira mais eficiênte. Para mais informações acesse a documentação do pacote no link https://cran.r-project.org/web/packages/dplyr/dplyr.pdf.

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
gap_lif_2<- gapminder %>%
          group_by(continent,year) %>%
          summarise(lifeExp = median(lifeExp))
gap_lif_2
## # A tibble: 60 x 3
## # Groups:   continent [5]
##    continent  year lifeExp
##    <fct>     <int>   <dbl>
##  1 Africa     1952    38.8
##  2 Africa     1957    40.6
##  3 Africa     1962    42.6
##  4 Africa     1967    44.7
##  5 Africa     1972    47.0
##  6 Africa     1977    49.3
##  7 Africa     1982    50.8
##  8 Africa     1987    51.6
##  9 Africa     1992    52.4
## 10 Africa     1997    52.8
## # ... with 50 more rows

Construindo o gráfico para visualização das informações sobre a evolução ao longo dos anos da expectativa média de vida nos continentes. A estrutura utilizada nesta etapa é a mesma de já utilizada na construção de gráficos com o pacote ggplot2.

library(ggplot2)
library(gganimate)
p1 <- ggplot(gap_lif_2, 
             aes(x = year,y = lifeExp, group = continent, color = continent)) +
              geom_line() +
              scale_color_viridis_d() +
              labs(x = "Year", y = "Mean life exp") +
              theme(legend.position = "top")
p1

Adicionando a camada interativa ao gráfico, que só foi possível através do pacote gganimate.

p1 + 
  geom_point() +
  transition_reveal(year)

Construindo o gráfico da expectativa de vida dos paises dentro dos continentes segundo seu Produto Interno Bruto (PIB ou GDP).

p <- ggplot(gapminder , aes(x = gdpPercap, y = lifeExp, size = pop, colour = continent)) +
  geom_point(show.legend = F, alpha = 0.7) +
  scale_color_viridis_d() +
  scale_size(range = c(2, 12)) +
  scale_x_log10() +
  labs(x = "GDP per capita", y = "Life expectancy") +
  geom_jitter(alpha = 1/3, size = 3)
p

Adicionando a camada interativa ao gráfico, logo podemos visualizar a evolução da expectativa de vida dos paises dentro dos continentes segundo seu PIB ao longo dos anos.

p + 
  transition_time(year) +
  labs(title = "Year: {frame_time}") 

Gostou da página, então siga-nós nas redes sociais que sempre estaremos inserindo conteúdos novos por aqui.

Site https://sites.google.com/view/estatistica-ciencias-de-dados

Linkedin https://www.linkedin.com/in/joseli-moreira-ferraz/

GitHub https://github.com/JoseliFerraz

Rpubs https://rpubs.com/joseli1987

Contato:

Quer conhecer mais sobre o universo R, alguns links interessantes para sua jornada:

https://rpubs.com

https://cran.r-project.org/