Os gráficos que explicam nossos dados (histograma)
Histogramas são usados para mostrar a frequência com que uma variável ocorre. Isto é muito interessante para mostrar qual a distribuição dos seus dados e podemos apresentar em forma de frequência absoluta, relativa, percentual e acumulada. Para exemplificar este tipo gráfico, vamos utilizar os dados de inventário de uma propriedade fictícia na Amazônia. Estes dados são meramente ilustrativos e não tem valor real. O objetivo aqui é apresentar algumas particularidades da construção de gráficos de barras no R e facilitar a vida de quem quer abandonar os gráficos do Excel.
if (!require("pacman")) install.packages("pacman")
pacman::p_load(readr, dplyr, ggplot2)
dados <- read_csv2(
"https://raw.githubusercontent.com/italocegatta/italocegatta.github.io_source/master/content/dados/base_amazonia.csv"
)
dados
## # A tibble: 276 x 7
## Especie Nome_cientifico Comercial DAP HCom Volume QF
## <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl>
## 1 NAO IDENTIFI~ Nao Identificada Nao 20 10 0.23 2
## 2 EMBIRA Lecythidaceae Nao 34 13 0.83 1
## 3 NAO IDENTIFI~ Nao Identificada Nao 18 6 0.11 1
## 4 SUCUPIRA Leguminosae-Papilionoi~ Nao 18 7 0.13 1
## 5 CANELA Lauraceae Nao 24 10 0.32 1
## 6 TACHI Lecythidaceae Sim 21 10 0.25 1
## 7 ENVIRA CAJU Annonaceae Nao 20 11 0.25 2
## 8 JUTAI Leguminosae-Caesalpini~ Nao 38 13 1.04 2
## 9 CATUABA Vochysiaceae Sim 57 13 2.32 1
## 10 NAO IDENTIFI~ Nao Identificada Nao 22 7 0.19 2
## # ... with 266 more rows
Primeiro vamos ver qual a distribuição dos indivíduos em classes de diâmetro. A Figura 1 mostra a frequência de indivíduos em classes de diâmetro de 10 cm. Visivelmente, podemos ver que a faixa de diâmetro mais frequente está entre 15 e 35 cm (centro de classe 20 e 30 cm, respectivamente).
ggplot(dados, aes(DAP)) +
geom_histogram(binwidth = 10, color =" black", alpha = 0.8) +
labs(x = "Diâmetro (cm)", y = "Frequência (arv/ha)") +
scale_x_continuous(breaks = seq(0, 100, 10)) +
theme_bw(16)
Mas, e quanto às espécies comerciais? Como elas estão distribuídas? A Figura 2 faz esta diferenciação. E lembre-se, no manejo florestal da Amazônia só é permitido a exploração de árvores com diâmetro maior que 50 cm.
ggplot(dados, aes(DAP, fill = Comercial)) +
geom_histogram(binwidth = 10, color =" black", alpha = 0.8) +
labs(
x = "Diâmetro (cm)", y = "Frequência (arv/ha)",
fill = "Comercial?"
) +
scale_x_continuous(breaks = seq(0, 100,10)) +
scale_fill_hue(labels = c("Não", "Sim")) +
theme_bw(16)
Vamos melhorar um pouco mais a informação sob o ponto de vista da exploração: qual a frequência de indivíduos que são de interesse comercial e tem diâmetro mais que 50 cm? (Figura 3).
ggplot(dados, aes(Volume, fill = DAP > 50 & Comercial == "Sim")) +
geom_histogram(binwidth = 0.5, color =" black", alpha = 0.8) +
labs(
x = Volume~individual~(m^3~arv^-1), y = "Frequência (arv/ha)",
fill = "Pode explorar?"
) +
scale_y_continuous(breaks = seq(0, 150, 20)) +
scale_x_continuous(breaks = seq(0, 10, 0.5)) +
scale_fill_hue(labels = c("Não", "Sim")) +
theme_bw(16)
Se quisermos ainda apresentar o gráfico em termos das frequências relativas, podemos fazer a seguinte modificação, conforme a Figura 4.
ggplot(dados, aes(Volume, fill = DAP > 50 & Comercial == "Sim")) +
geom_histogram(
aes(y = ..count../sum(..count..)),
binwidth = 0.5, color =" black", alpha = 0.8
) +
labs(
x = Volume~individual~(m^3~arv^-1), y = "Frequência (arv/ha)",
fill = "Pode explorar?"
) +
scale_y_continuous(breaks = seq(0, .5, 0.05), labels = scales::percent) +
scale_x_continuous(breaks = seq(0, 10, 0.5)) +
scale_fill_hue(labels = c("Não", "Sim")) +
theme_bw(16)
Caso tenha alguma dúvida ou sugestão sobre o post, fique à vontade para fazer um comentário ou me contatar por E-mail.
sessioninfo::session_info(c("readr", "dplyr", "ggplot2"))
## - Session info ----------------------------------------------------------
## setting value
## version R version 3.5.3 (2019-03-11)
## os Windows 10 x64
## system x86_64, mingw32
## ui RTerm
## language (EN)
## collate Portuguese_Brazil.1252
## ctype Portuguese_Brazil.1252
## tz America/Sao_Paulo
## date 2019-08-25
##
## - Packages --------------------------------------------------------------
## package * version date lib source
## assertthat 0.2.1 2019-03-21 [1] CRAN (R 3.5.3)
## backports 1.1.4 2019-04-10 [1] CRAN (R 3.5.3)
## BH 1.69.0-1 2019-01-07 [1] CRAN (R 3.5.2)
## cli 1.1.0 2019-03-19 [1] CRAN (R 3.5.3)
## clipr 0.7.0 2019-07-23 [1] CRAN (R 3.5.3)
## colorspace 1.4-1 2019-03-18 [1] CRAN (R 3.5.3)
## crayon 1.3.4 2017-09-16 [1] CRAN (R 3.5.1)
## digest 0.6.20 2019-07-04 [1] CRAN (R 3.5.3)
## dplyr * 0.8.3 2019-07-04 [1] CRAN (R 3.5.3)
## ellipsis 0.2.0.1 2019-07-02 [1] CRAN (R 3.5.3)
## fansi 0.4.0 2018-10-05 [1] CRAN (R 3.5.1)
## ggplot2 * 3.2.1 2019-08-10 [1] CRAN (R 3.5.3)
## glue 1.3.1 2019-03-12 [1] CRAN (R 3.5.3)
## gtable 0.3.0 2019-03-25 [1] CRAN (R 3.5.3)
## hms 0.5.0 2019-07-09 [1] CRAN (R 3.5.3)
## labeling 0.3 2014-08-23 [1] CRAN (R 3.5.0)
## lattice 0.20-38 2018-11-04 [2] CRAN (R 3.5.3)
## lazyeval 0.2.2 2019-03-15 [1] CRAN (R 3.5.3)
## magrittr 1.5 2014-11-22 [1] CRAN (R 3.5.1)
## MASS 7.3-51.1 2018-11-01 [2] CRAN (R 3.5.3)
## Matrix 1.2-17 2019-03-22 [1] CRAN (R 3.5.3)
## mgcv 1.8-28 2019-03-21 [1] CRAN (R 3.5.3)
## munsell 0.5.0 2018-06-12 [1] CRAN (R 3.5.1)
## nlme 3.1-137 2018-04-07 [2] CRAN (R 3.5.3)
## pillar 1.4.2 2019-06-29 [1] CRAN (R 3.5.3)
## pkgconfig 2.0.2 2018-08-16 [1] CRAN (R 3.5.1)
## plogr 0.2.0 2018-03-25 [1] CRAN (R 3.5.1)
## plyr 1.8.4 2016-06-08 [1] CRAN (R 3.5.1)
## purrr 0.3.2 2019-03-15 [1] CRAN (R 3.5.3)
## R6 2.4.0 2019-02-14 [1] CRAN (R 3.5.2)
## RColorBrewer 1.1-2 2014-12-07 [1] CRAN (R 3.5.0)
## Rcpp 1.0.2 2019-07-25 [1] CRAN (R 3.5.3)
## readr * 1.3.1 2018-12-21 [1] CRAN (R 3.5.2)
## reshape2 1.4.3 2017-12-11 [1] CRAN (R 3.5.1)
## rlang 0.4.0 2019-06-25 [1] CRAN (R 3.5.3)
## scales 1.0.0 2018-08-09 [1] CRAN (R 3.5.1)
## stringi 1.4.3 2019-03-12 [1] CRAN (R 3.5.3)
## stringr 1.4.0 2019-02-10 [1] CRAN (R 3.5.2)
## tibble 2.1.3 2019-06-06 [1] CRAN (R 3.5.3)
## tidyselect 0.2.5 2018-10-11 [1] CRAN (R 3.5.1)
## utf8 1.1.4 2018-05-24 [1] CRAN (R 3.5.1)
## vctrs 0.2.0 2019-07-05 [1] CRAN (R 3.5.3)
## viridisLite 0.3.0 2018-02-01 [1] CRAN (R 3.5.1)
## withr 2.1.2 2018-03-15 [1] CRAN (R 3.5.1)
## zeallot 0.1.0 2018-01-28 [1] CRAN (R 3.5.2)
##
## [1] C:/Users/Italo/Documents/R/win-library/3.5
## [2] C:/Program Files/R/R-3.5.3/library