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: joseli.cde@gmail.com
Quer conhecer mais sobre o universo R, alguns links interessantes para sua jornada: