Utilizando o GGPLOT2 para criar o histograma
#Chamando as bibliotecas
library(ggplot2)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.2 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ lubridate 1.9.2 ✔ tibble 3.2.1
## ✔ purrr 1.0.1 ✔ tidyr 1.3.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
ggplot(Dados, aes(x = Densidade)) +
geom_histogram(bins = 7,fill = "deepskyblue", col = "black") +
ggtitle("Histograma tamanho amostral da serras") +
xlab("Tamanho das serras (mm)") +
ylab("Densidade") +
theme_classic()+
#Linha Inferior Especificada
geom_vline(xintercept = as.numeric(37), linetype = "dashed", color = "red", size = 1) +
geom_text(x = as.numeric((37)), y = -2, label = "LIE = 37", vjust = -18, color = "black", size = 6)+
#Linha Superior Especificada
geom_vline(xintercept = as.numeric(44), linetype = "dashed", color = "red", size = 1) +
geom_text(x = as.numeric((44)), y = -2, label = "LIE = 44", vjust = -18, color = "black", size = 6)+
#Linhas Media
geom_vline(xintercept = as.numeric(media), linetype = "dashed", color = "green", size = 1) +
geom_text(x = as.numeric((media)), y = -2, label = "LM = Media", vjust = -18, color = "black", size = 6)

Melhorando Grafico do Histograma
seq(min(Dados)-1,max(Dados)+1,1.6)
## [1] 34.4 36.0 37.6 39.2 40.8 42.4 44.0 45.6
#Criando 6 classes de intervalos
faixas <-
Dados$Densidade %>%
cut( breaks = c(34.4,36,37.6,39.2,40.8,42.4,44,45.6), labels = c("34.4-36","36-37.6","37.6-39.2","39.2.8-40.8","40.8-42.4","42.4-44","44-45"))
# Agrupando em faixas e colocando no data frame
Dados <- data.frame(Dados,Faixa=faixas)
head(Dados)
## Densidade Faixa
## 1 40.9 40.8-42.4
## 2 40.8 39.2.8-40.8
## 3 41.5 40.8-42.4
## 4 43.2 42.4-44
## 5 38.7 37.6-39.2
## 6 42.3 40.8-42.4
# Calcular as frequências de cada faixa
frequencia_f <- table(Dados$Faixa)
data.frame(Classes = names(frequencia_f), Frequencia = frequencia_f)
## Classes Frequencia.Var1 Frequencia.Freq
## 1 34.4-36 34.4-36 1
## 2 36-37.6 36-37.6 2
## 3 37.6-39.2 37.6-39.2 11
## 4 39.2.8-40.8 39.2.8-40.8 26
## 5 40.8-42.4 40.8-42.4 24
## 6 42.4-44 42.4-44 14
## 7 44-45 44-45 2
# Definir tamanho global do gráfico
options(
repr.plot.width =9, # Largura em polegadas
repr.plot.height = 8 # Altura em polegadas
)
# Calcular as frequências de cada faixa
frequencia_f <- table(Dados$Faixa)
# Calcular as porcentagens de cada faixa
porcentagens <- round(frequencia_f/ sum(frequencia_f) * 100, 1)
# Criar um dataframe para o gráfico
faixas = names(frequencia_f)
Frequencia = frequencia_f
Porcentagem = porcentagens
grafico_data <- data.frame(Classes = names(frequencia_f), Frequencia = frequencia_f, Porcentagem = porcentagens)
# Criar o gráfico de barras usando ggplot2
grafico_barras <- ggplot(data = grafico_data, aes(x = Classes, y = frequencia_f)) +
geom_bar(stat = "identity", fill = "dodgerblue1") +
geom_text(aes(label = paste(frequencia_f, "-", porcentagens, "%", sep = "")), vjust = -0.5, color = "black") +
labs(title = "Histograma tamanho amostral da serras", x = "Tamanho das serras (mm)", y = "QuantidadeS + %") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 0, hjust = 1))+
geom_vline(xintercept = as.numeric(as.factor(37)) + 1, linetype = "dashed", color = "red", size = 1) +
geom_text(x = as.numeric(as.factor(37)) + 1, y = max(grafico_data$frequencia_f) + 5, label = "LIE = 37", vjust = -18, color = "black", size = 6)+
geom_vline(xintercept = as.numeric(as.factor(44)) + 5.5, linetype = "dashed", color = "red", size = 1) +
geom_text(x = as.numeric(as.factor(44)) + 5.5, y = max(grafico_data$frequencia_f) + 5, label = "LSE = 44", vjust = -18, color = "black", size = 6)+
geom_text(x = as.numeric(as.factor(37)) + 1, y = max(grafico_data$frequencia_f) + 5, label = "LIE = 37", vjust = -18, color = "black", size = 6)+
geom_vline(xintercept = as.numeric(as.factor(media)) + 3, linetype = "dashed", color = "green4", size = 1) +
geom_text(x = as.numeric(as.factor(media)) + 3, y = max(grafico_data$frequencia_f) + 5, label = "Media", vjust = -18, color = "black", size = 6)
# Exibir o gráfico de barras
print(grafico_barras)
## Don't know how to automatically pick scale for object of type <table>.
## Defaulting to continuous.

# Salvar o gráfico com dimensões personalizadas (width e height em polegadas)
ggsave("grafico_barrasIdadeFaixa.png", plot = grafico_barras, width = 9, height = 8)
## Don't know how to automatically pick scale for object of type <table>.
## Defaulting to continuous.