title: “Análise da Qualidade de Méis Baseada nos Compostos fenólicos”

author: ” Ariel, Marcelo Ribeiro e Patrícia Pimenta ”

date: “2025-01-22”

format: html


#Carregar bibliotecas necessárias

library(dplyr)
library(ggplot2)
library(multcomp)
library(car)
library(lmtest)
library(plotly)
library(tibble)
library("bestglm") 
library("ggplot2")
library(visdat)
library(regclass)
library(ExpDes.pt)
library(agricolae)
library(gridExtra)
library(grid)
library(xfun)
library(knitr)
library(knitrdata)
library(car)
library(patchwork)
library(multcomp)

Carregar os dados

Preparação dos Dados

Natureza das variáveis

'data.frame':   48 obs. of  5 variables:
 $ Amostras                   : chr  "M1" "M1" "M1" "M1" ...
 $ Repetição                  : int  1 2 3 4 1 2 3 4 1 2 ...
 $ Tempo.Armazenamento..meses.: int  0 0 0 0 0 0 0 0 0 0 ...
 $ Temperatura.Armazenamento  : chr  "Ambiente" "Ambiente" "Ambiente" "Ambiente" ...
 $ Fenólicos                  : num  0.912 0.912 0.912 0.922 0.941 ...

Redefinir a natureza das variáveis

'data.frame':   48 obs. of  5 variables:
 $ Amostras                   : Factor w/ 3 levels "M1","M2","M3": 1 1 1 1 2 2 2 2 3 3 ...
 $ Repetição                  : int  1 2 3 4 1 2 3 4 1 2 ...
 $ Tempo.Armazenamento..meses.: Factor w/ 2 levels "0","5": 1 1 1 1 1 1 1 1 1 1 ...
 $ Temperatura.Armazenamento  : Factor w/ 2 levels "Ambiente","Refrigerado": 1 1 1 1 1 1 1 1 1 1 ...
 $ Fenólicos                  : num  0.912 0.912 0.912 0.922 0.941 ...

Resultados

Análise de Variância (ANOVA)

Tabela 1: Resultados da ANOVA para Tempo e Armazenamento
Graus de Liberdade Soma dos Quadrados Média dos Quadrados Estatística F Valor-p
Tempo.Armazenamento..meses. 1 5.2222522 5.2222522 189.5060992 0.000000
Temperatura.Armazenamento 1 0.0191507 0.0191507 0.6949443 0.408891
Residuals 45 1.2400728 0.0275572 NA NA

Testes de Pressupostos

Os testes confirmaram a normalidade, homocedasticidade e independência dos resíduos.

Tabela 2: Testes de Verificação dos Pressupostos
Teste Estatística Valor.p
W Shapiro-Wilk (Normalidade) 0.8548709 2.94e-05
BP Breusch-Pagan (Homocedasticidade) 21.9672386 1.70e-05
DW Durbin-Watson (Independência) 0.7220994 0.00e+00

(PERMANOVA):

# Instalar e carregar o pacote RVAideMemoire
#if (!requireNamespace("RVAideMemoire", quietly = TRUE)) {
#  install.packages("RVAideMemoire")
#}
library(RVAideMemoire)
*** Package RVAideMemoire v 0.9-83-7 ***
# Instalar e carregar o pacote RVAideMemoire
if (!requireNamespace("RVAideMemoire", quietly = TRUE)) {
  install.packages("RVAideMemoire")
}
library(RVAideMemoire)
library(vegan)
Warning: package 'vegan' was built under R version 4.4.1
Loading required package: permute
Loading required package: lattice

Attaching package: 'lattice'
The following object is masked from 'package:regclass':

    qq
This is vegan 2.6-8

Attaching package: 'vegan'
The following object is masked from 'package:VGAM':

    calibrate
# Criar matriz de distância (exemplo: distância Euclidiana)
#attach(Dados_filtrados)
dist_matrix <- dist(dados_mel[, "Fenólicos"]) # Ou use vegdist para outras distâncias

set.seed(123)
# PERMANOVA global
adonis_result <- adonis2(dist_matrix ~ Tempo.Armazenamento..meses. + Temperatura.Armazenamento, by="terms",p.method = "bonferroni", data = dados_mel)
print(adonis_result)
Permutation test for adonis under reduced model
Terms added sequentially (first to last)
Permutation: free
Number of permutations: 999

adonis2(formula = dist_matrix ~ Tempo.Armazenamento..meses. + Temperatura.Armazenamento, data = dados_mel, by = "terms", p.method = "bonferroni")
                            Df SumOfSqs      R2        F Pr(>F)    
Tempo.Armazenamento..meses.  1   5.2223 0.80572 189.5061  0.001 ***
Temperatura.Armazenamento    1   0.0192 0.00295   0.6949  0.389    
Residual                    45   1.2401 0.19133                    
Total                       47   6.4815 1.00000                    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Medidas Descritivas para Compostos fenólicos nas Amostras de Méis
Amostras Media Mediana Desvio_Padrao Minimo Maximo
M1 0.6816855 0.7050678 0.2427225 0.4004295 0.922199
M2 0.6761498 0.6927220 0.2668878 0.3681144 0.946484
M3 0.8962470 0.8999951 0.5180266 0.3681144 1.442873
# Instalar e carregar o pacote RVAideMemoire
#if (!requireNamespace("RVAideMemoire", quietly = TRUE)) {
#  install.packages("RVAideMemoire")
#}
library(RVAideMemoire)
# Instalar e carregar o pacote RVAideMemoire
if (!requireNamespace("RVAideMemoire", quietly = TRUE)) {
  install.packages("RVAideMemoire")
}
library(RVAideMemoire)
library(vegan)
library(pairwiseAdonis)
Loading required package: cluster
# Criar matriz de distância (exemplo: distância Euclidiana)
#attach(Dados_filtrados)
dist_matrix <- dist(dados_mel[, "Fenólicos"]) # Ou use vegdist para outras distâncias

set.seed(123)
# PERMANOVA global
adonis_result <- adonis2(dist_matrix ~ Tempo.Armazenamento..meses. + Temperatura.Armazenamento, by="terms",p.method = "bonferroni", data = dados_mel)
print(adonis_result)
Permutation test for adonis under reduced model
Terms added sequentially (first to last)
Permutation: free
Number of permutations: 999

adonis2(formula = dist_matrix ~ Tempo.Armazenamento..meses. + Temperatura.Armazenamento, data = dados_mel, by = "terms", p.method = "bonferroni")
                            Df SumOfSqs      R2        F Pr(>F)    
Tempo.Armazenamento..meses.  1   5.2223 0.80572 189.5061  0.001 ***
Temperatura.Armazenamento    1   0.0192 0.00295   0.6949  0.389    
Residual                    45   1.2401 0.19133                    
Total                       47   6.4815 1.00000                    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Pairwise PERMANOVA (post hoc)
# Comparação pairwise para Tempo
# Variável de agrupamento
groups <- factor(dados_mel$Tempo.Armazenamento..meses.)

# Pairwise PERMANOVA com ajuste para múltiplas comparações
pairwise_result <- pairwise.adonis2(dist_matrix ~ groups, data = dados_mel, perm = 999)

print(pairwise_result)
$parent_call
[1] "dist_matrix ~ groups , strata = Null , permutations 999"

$`0_vs_5`
         Df SumOfSqs      R2      F Pr(>F)    
Model     1   5.2223 0.80572 190.77  0.001 ***
Residual 46   1.2592 0.19428                  
Total    47   6.4815 1.00000                  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

attr(,"class")
[1] "pwadstrata" "list"      
# Carregar pacotes necessários
library(ggplot2)
library(patchwork)  # Para combinar gráficos estáticos

# Ajuste de fonte para legendas dos eixos e títulos
font_theme <- theme(
  axis.title = element_text(size = 10),   # Tamanho da fonte dos títulos dos eixos
  axis.text = element_text(size = 8),    # Tamanho da fonte dos textos nos eixos
  plot.title = element_text(size = 12, face = "bold", hjust = 0.5)  # Título do gráfico
)

# Função auxiliar para criar boxplots com linha da mediana em branco
create_boxplot <- function(data, x, y, fill, title, x_label, y_label) {
  ggplot(data, aes_string(x = x, y = y, fill = fill)) +
    geom_boxplot(outlier.color = "black", color = "black", median.colour = "white") +  # Linha de mediana em branco
    scale_fill_grey(start = 0.6, end = 0.2) +  # Escala de cinza
    labs(title = title, x = x_label, y = y_label) +
    theme_minimal() +
    font_theme +
    theme(legend.position = "none")  # Remover legenda para evitar redundância
}

# Criar os boxplots para Tempo_A
p1 <- create_boxplot(dados_mel, "Tempo.Armazenamento..meses.", "Fenólicos", "Tempo.Armazenamento..meses.","Distribuição dos compostos fenólicos", "Tempo de armazenamento (meses)", "Fenólico")
Warning: `aes_string()` was deprecated in ggplot2 3.0.0.
ℹ Please use tidy evaluation idioms with `aes()`.
ℹ See also `vignette("ggplot2-in-packages")` for more information.
Warning in geom_boxplot(outlier.color = "black", color = "black", median.colour
= "white"): Ignoring unknown parameters: `median.colour`
##p2 <- create_boxplot(dados_mel, "Armazenamento", "Umidade", "Armazenamento", 
                   ##  "Distribuição da variável Umidade", 
                   ##  "Temperatura de armazenamento", "Umidade")
#p3 <- create_boxplot(dados_mel, "Umidade", `Tempo de aquecimento`, 
                   #  "Distribuição da variável HMF", 
                 #    "Tempo de aquecimento (minutos)", "HMF")

# Combinar os gráficos usando patchwork
#GraficosBox <- (p1 | p2 )  # Combina gráficos de Tempo_A horizontalmente

# Exibir os gráficos
GraficosBox <- (p1)
GraficosBox

# Salvar em alta qualidade para publicação
ggsave("boxplots_Compostosfenólicos.png", GraficosBox, dpi = 300, width = 12, height = 4)



# Carregar pacotes necessários
library(ggplot2)
library(patchwork)  # Para combinar gráficos estáticos

# Ajuste de fonte para legendas dos eixos e títulos
font_theme <- theme(
  axis.title = element_text(size = 10),   # Tamanho da fonte dos títulos dos eixos
  axis.text = element_text(size = 8),    # Tamanho da fonte dos textos nos eixos
  plot.title = element_text(size = 12, face = "bold", hjust = 0.5)  # Título do gráfico
)