Quando construíram as barragens no mundo? Como criar um histograma no R
Aprenda a utilizar histogramas no R para extrair informações como quando as barragens ao redor do mundo foram construídas.
Numa postagem passada, avaliamos, utilizando ArcGIS, onde estão as maiores barragens do mundo. Hoje, iremos explorar o mesmo conjunto de dados, mas iremos buscar em quais anos houve um “boom” de construção de barragens, um aumento significativo de obras.
Confira.
História das Barragens no Brasil
O Brasil tem um grande potencial hídrico a ser explorado, sendo este aproveitado para produção de hidroelétricas e barragens de abastecimento.
A barragem mais antiga do Brasil, a qual se tem registro, está localizada onde hoje é área urbana de Recipe, PE, possivelmente concluída no século 16.
Porém, o marco da construção das barragens no Brasil iniciou em 1880, após a Grande Seca no Nordeste, quando o imperador Dom Pedro II nomeou uma comissão para solucionar o problema das secas, sendo uma dessas soluções a construção de barragens de armazenamento de água.
A barragem de armazenamento chamada Cedros foi a primeira a ser concluída em 1906, no Ceará. Após ela, várias barragens foram construídas, especialmente nos anos 1950 e 1960.
Quer se aprofundar na história das barragens do Brasil? Clique aqui e leia o livro “A História das Barragens no Brasil – Séculos XIX, XX e XXI: Cinquenta Anos do Comitê Brasileiro de Barragens”.
Barragens no Mundo
Ao redor do mundo, a história do desenvolvimento de barragens é diferente para cada pais, por isso, vamos focar nos resultados que obtivemos analisando os dados disponibilizados pelas Nações Unidas.
A partir das análises e gráficos que geramos (os procedimentos são apresentados no próximo tópico), observamos que a primeira barragem foi construída em 1700 (no final do século 17) na Índia. A barragem forma o segundo maior lago artificial indiano, o lago Dhebar, com um volume de 0,566 km³.
Há barragens mais antigas que a do lago Dhebar, mas nosso banco de dados é limitado.
Após 1700, há um grande intervalo com pouquíssimas construções, sendo que em 1900, a construção de barragens é retomada e somente após 1950, há um crescimento acentuado de obras de barragens, reduzindo em 1975.
Muitas dessas barragens estão localizadas no continente norte americano, seguido da Europa e Ásia.
É interessante notar que ao buscarmos trabalhos científicos sobre barragens, grande parte deles são desta época, demonstrando que há ainda muito a ser estudado sobre barragens e seu comportamento ao longo dos anos.
Agora você já sabe a resposta e abaixo apresentamos como obtivemos esses dados.
Preparando os dados no R
Primeiro, você terá que carregar o banco de dados disponibilidade pelas Nações Unidas (você pode acessá-lo clicando aqui, porém, para o nosso tutorial, você pode baixar o arquivo csv clicando aqui).
Para carregar ele no R, iremos utilizar a funções read.csv(), onde indicaremos o local onde foi salvo o arquivo csv, se ele apresenta um cabeçalho (header = true), qual é o separador dos dados (neste caso, o ponto e vírgula, sep = “;”), qual o separador decimal (dec = “,”) e quais são os dados vazios, sem informações (na.strings = “”).
barragens2E <- read.csv(".../barragens2E.csv", header = TRUE, sep = ";", dec = ",", na.strings = "")
Agora que carregamos nossos dados, vamos realizar uma rápida checagem deles, para verificar se é necessário realizar algum tratamento dos dados brutos.
Para isso, vamos utilizar a função summary().
summary(barragens2E)
Essa função nos fornecerá dados como média, mediana, valores mínimo e máximo, primeiro e terceiro quartil. Note que na coluna do ano (i.e. YEAR), o valor mínimo é zero e realizando uma leitura da documentação do banco de dados, eles nos informam que os valores zerados são barragens onde não foi possível levantar o ano de construção com precisão.
Por isso, vamos remover essas barragens da nossa análise utilizando a função subset().
brg_2E <- subset(barragens2E, YEAR != 0)
Os valores que alimentamos a função subset() são os seguintes, primeiro informamos a variável com os nossos dados e em seguida fornecemos a condição para a criação do novo banco de dados.
Utilizamos o operador relacional “diferente” (!=) para dizer ao R que precisamos de todas as barragens cujos anos de construção sejam diferentes de zero.
Nesta função, também é possível utilizar o parâmetro select para que a nova variável tenha apenas as colunas que desejamos.
## Um exemplo do uso do parâmetro select na função subset() ## Para copiar somente as colunas RIVER, YEAR e VOLUME brg_2E <- subset(barragens2E, YEAR != 0, select = c(RIVER, YEAR, VOLUME))
Agora com o nosso banco de dados pronto, iremos gerar nosso histograma e gráfico de densidade para visualizarmos quando a maior parte das barragens foram construídas.
Gerando um Histograma no R
Histogramas são gráficos onde os dados são agrupados em intervalos e a frequência de ocorrência deles (seja em números absolutos ou porcentagem) é representada na forma de barras.
A criação de histogramas no R é realizada pela função histogram().
hist(brg_2E$YEAR, breaks = 50, col = "#64a028", main = "2 Engenheiros: Barragens", xlab = "Ano", ylab = "Frequência")
Na função histogram() fornecemos vários parâmetros, os quais são explicados a seguir:
- breaks: Indica a quantidade de intervalos (barras) existentes no histograma;
- col: Define a cor de preenchimento das barras;
- main: Indica o título do gráfico;
- xlab: Indica o rótulo do eixo x;
- ylab: Define o rótulo do eixo y.
Note que a grande parte das barragens foram construídas após 1950, mas a construção de barragens já vinha se desenvolvendo desde 1900.
Caso você queira focar seu gráfico neste período, você pode utilizar o parâmetro xlim, fornecendo o intervalo que você deseja visualizar.
hist(brg_2E$YEAR, breaks = 50, col = "#64a028", main = "2 Engenheiros: Barragens", xlab = "Ano", ylab = "Frequência", xlim = c(1900, 2000))
Gerando um histograma com ggplot2
Se os gráficos gerados pelas funções convencionais do R não te agradam, você pode criar um histograma com o pacote ggplot2.
library(“ggplot2”) ggplot(brg_2E, aes(YEAR)) + geom_histogram(bins=50) + labs(title = "2 Engenheiros: Barragens", x = "Ano", y = "Frequência") + scale_x_continuous(breaks=seq(1700, 2000, 25))
Usamos vários parâmetros para personalizar nosso histograma, sendo:
- bins: Definição do número de intervalos;
- labs: Configuração dos rótulos e títulos;
- scale_x_continuous: Configuração do eixos x (aqui, utilizamos a função seq() que criou uma sequência entre 1700 e 2000 espaçada a cada 25 anos).
A parte mais interessante do ggplot2 é que podemos personalizar nosso gráfico mostrando em qual continente a barragem foi construída. Para isso, utilizamos o parâmetro fill dentro da função aes(). Confira o código abaixo.
ggplot(brg_2E, aes(YEAR, fill = GEO_REGION)) + geom_histogram(bins=50) + labs(title = "2 Engenheiros: Barragens", x = "Ano", y = "Frequência") + scale_x_continuous(breaks=seq(1700, 2000, 25)) + scale_fill_discrete(name="Região", labels=c("Africa", "Asia e Pacífico", "Europa", "América Latina", "América do Norte", "Oeste da Ásia"))
Veja que grande parte das barragens foram construídas na América do Norte, Europa e Ásia e Pacífico. Embora vimos em postagens passadas que as maiores barragens do mundo encontram-se no continente africano.
Gerando um Gráfico de Densidade no R
Também chamado de estimativa de densidade kernel, os gráficos de densidade são utilizados para representar a distribuição dos dados de forma contínua. Lembrando que a distribuição é suavizada por uma função kernel (há a remoção de picos e dados extremos).
No R, a criação de um gráfico de densidade é realizado utilizando-se duas funções, density() e plot().
dens_brg <- density(brg_2E$YEAR) plot(dens_brg, ylab = "Densidade", main = "2 Engenheiros: Barragens") polygon(dens_brg, col = "#64a028", border = "Black")
Após gerar o seu gráfico de densidade, perceba que há duas variáveis abaixo do gráfico, N e bandwidth. N representa o número de dados existentes e bandwidth é a amplitude da janela de observação, onde números mais elevados deixam o gráfico mais arredondado.
A bandwidth pode ser modificada na função density() inserindo o parâmetro bw, por exemplo, density(brg_2E$YEAR, bw = 10).
Gerando um gráfico de densidade com ggplot2
Novamente, caso os gráficos gerados pelas funções convencionais do R não te agradem, você pode criar um gráfico de densidade com o pacote ggplot2.
ggplot(brg_2E, aes(YEAR)) + geom_density() + labs(title = "2 Engenheiros: Barragens", x = "Ano", y = "Densidade") + scale_x_continuous(breaks=seq(1700, 2000, 25))
Da mesma forma que fizemos com o histograma, também podemos separar as distribuições por continentes.
ggplot(brg_2E, aes(YEAR, fill = GEO_REGION)) + geom_density(alpha = 0.1) + labs(title = "2 Engenheiros: Barragens", x = "Ano", y = "Densidade") + scale_x_continuous(breaks=seq(1900, 2000, 10))+xlim(1900, 2000) + scale_fill_discrete(name="Região", labels=c("Africa", "Asia e Pacífico", "Europa", "América Latina", "América do Norte", "Oeste da Ásia"))
Agora, temos a distribuição da construção das barragens por anos e por continente.
Ao longo da postagem, você viu como construir histogramas e gráficos de densidade para extrair diferentes informações. Caso você tenha ficado com alguma dúvida ou tenha obtido algum erro, deixe seu comentário para que possamos ajuda-lo.
Fontes consultadas: Quick-R: Density Plots - https://www.statmethods.net/graphs/density.html Análise Exploratório de Dados - http://ecologia.ib.usp.br/bie5782/doku.php?id=bie5782:03_apostila:05-exploratoria Density Plot - https://datavizcatalogue.com/methods/density_plot.html A História das Barragens no Brasil – Séculos XIX, XX e XXI: Cinquenta Anos do Comitê Brasileiro de Barragens” [http://www.cbdb.org.br/documentos/A_Historia_das_Barragens_no_Brasil.pdf]
Excelente abordagem.
http://www.concregeo.com.br/