Capítulo 14 Pacote ggplot
O ggplot2
é um dos pacotes mais populares do R para a criação de gráficos estatísticos sofisticados e visualmente atraentes. Baseado no conceito da “Gramática dos Gráficos”, o ggplot2
permite construir gráficos de maneira flexível e modular, combinando camadas (layers) de dados, geometrias, escalas e temas.
14.1 Principais Vantagens
- Produz gráficos de alta qualidade e personalizáveis.
- Permite adicionar camadas de informação facilmente.
- Suporta uma variedade de tipos de gráficos.
14.2 Exemplos de Gráficos Simples e Bonitos com ggplot2
Antes de começar, certifique-se de instalar e carregar o pacote:
Para ilustrar alguns gráficos utilizando o ggplot2
, empregaremos o conjunto de dados iris, que já está disponível nativamente no R.
O iris é um dos bancos de dados mais clássicos e utilizados em estatística e aprendizado de máquina, trazendo informações sobre 150 flores de três espécies diferentes, com quatro variáveis quantitativas (comprimento e largura das sépalas e pétalas). Ele é amplamente utilizado para exemplos de análise exploratória de dados, classificação e visualização de padrões.
Além do iris, o R oferece outros conjuntos de dados nativos bastante úteis para exercícios e demonstrações em diversas áreas, como mtcars (carros), ToothGrowth (crescimento de dentes em cobaias), sleep (efeito de medicamentos no sono), airquality (qualidade do ar em Nova Iorque) e CO2 (absorção de CO2 em plantas).
14.2.1 Gráfico de Dispersão (Scatterplot)
library(ggplot2)
# Exemplo com o dataset iris
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point(size = 3, alpha = 0.7) +
theme_minimal() +
labs(title = "Gráfico de Dispersão: iris",
x = "Comprimento da Sépala",
y = "Largura da Sépala")
14.2.2 Gráfico de Barras
# Contagem das espécies no dataset iris
ggplot(iris, aes(x = Species, fill = Species)) +
geom_bar() +
theme_classic() +
labs(title = "Gráfico de Barras: Contagem de Espécies",
x = "Espécie",
y = "Contagem")
14.2.3 Histograma
# Distribuição do comprimento da sépala
ggplot(iris, aes(x = Sepal.Length, fill = Species)) +
geom_histogram(binwidth = 0.3, color = "white", alpha = 0.7, position = "identity") +
theme_light() +
labs(title = "Histograma: Comprimento da Sépala",
x = "Comprimento da Sépala",
y = "Frequência")
14.2.4 Boxplot
# Distribuição do comprimento da pétala por espécie
ggplot(iris, aes(x = Species, y = Petal.Length, fill = Species)) +
geom_boxplot(alpha = 0.7) +
theme_bw() +
labs(title = "Boxplot: Comprimento da Pétala por Espécie",
x = "Espécie",
y = "Comprimento da Pétala")
O ggplot2
oferece diversas opções de personalização, como cores, temas e anotações, permitindo criar gráficos bonitos e informativos para diferentes finalidades.
14.3 Exemplos de Bancos de Dados do R
Banco de Dados | Pacote | Área/Descrição |
---|---|---|
iris | datasets | Botânica, estatística, aprendizado de máquina (flores) |
mtcars | datasets | Automóveis, regressão, análise multivariada |
airquality | datasets | Qualidade do ar, saúde ambiental |
ToothGrowth | datasets | Farmacologia, saúde, crescimento de dentes |
sleep | datasets | Psicologia, farmacologia, estudo do sono |
ChickWeight | datasets | Nutrição, crescimento animal |
USArrests | datasets | Sociologia, estatísticas criminais dos EUA |
CO2 | datasets | Biologia, fisiologia vegetal |
BOD | datasets | Biologia, demanda bioquímica de oxigênio |
Boston | MASS | Imobiliário, regressão, análise multivariada |
lung | survival | Medicina, análise de sobrevivência (dados de câncer de pulmão) |
bfi | psych | Psicologia, personalidade (Big Five Inventory) |
NHANES | NHANES | Saúde pública, epidemiologia (pesquisa nacional dos EUA) |
titanic | titanic | Sobrevivência, estatística, aprendizado de máquina |
worldcup | faraway | Esportes (Copa do Mundo de Futebol) |
Nota:
Os bancos do pacote datasets
já vêm instalados por padrão no R. Outros, como MASS
, psych
, NHANES
, survival
, titanic
e faraway
, podem ser instalados via install.packages("nome_do_pacote")
.
Verifique sempre a documentação do pacote para acessar o nome correto dos bancos de dados e exemplos de uso.