library(tidyverse)
library(pracma)
library(lme4)
library(lmerTest)
library(pbkrtest)
library(readxl)Modelo misto
Um modelo misto serve pra analisar dados com estrutura hierárquica, medidas repetidas ou variação agrupada. Esse modelo combina efeitos fixos (tratamento aplicado, que queremos testar e comparar) e efeitos aleatórios (fontes de variação aleatória, como plantas, folhas, avaliadores, etc.).
Nossos dados contém vários níveis hierárquicos: Planta → Trifólio → Folíolo
Optamos pelo uso de um modelo misto devido à estrutura hierárquica dos dados experimentais, nos quais as observações de severidade foram feitas em folíolos pertencentes a trifólios, dentro de plantas, avaliadas por diferentes observadores. Essa organização gera dependência entre as medições, violando a suposição de independência dos erros em modelos lineares tradicionais. O modelo misto permite considerar essa variação estrutural por meio de efeitos aleatórios, isolando o efeito específico dos tratamentos (efeito fixo) e proporcionando uma análise mais precisa e robusta do impacto das diferentes estratégias de manejo sobre a progressão da ferrugem asiática.
Ativando os Pacotes necessários para a análise
Importando os dados
dados <- read_excel("Trabalho final Emerson.xlsx", sheet = "Planilha1")Calculando AACPD (sem transformação)
aacpd_result <- dados %>%
group_by(Tratamento, Planta, Trifolio, Foliolo, Avaliador) %>%
summarise(
AACPD = trapz(Dia, Severidade),
.groups = "drop"
)Aqui ele calcula o AACPD (Área Abaixo da Curva de Progresso da Doença), que é uma medida comum para doenças em plantas.
🔧 Usa a função trapz() para calcular a área sob a curva da severidade ao longo dos dias.
Ajustando o modelo completo (com tratamento)
modelo_completo <- lmer(
AACPD ~ Tratamento + (1 | Planta/Trifolio/Foliolo/Avaliador),
data = aacpd_result,
REML = FALSE # necessário para comparação de modelos
)AACPD ~ Tratamento: está testando o efeito fixo do Tratamento sobre o AACPD.
(1 | Planta/Trifolio/Foliolo/Avaliador): estrutura hierárquica de efeitos aleatórios:Avaliações foram feitas em folíolos dentro de trifólios, dentro de plantas, e cada uma foi avaliada por um Avaliador.
Isso ajuda a controlar a variação natural desses níveis e evitar que confundam o efeito do tratamento.
REML = FALSE: usa máxima verossimilhança (ML) e não REML, pois vai comparar modelos (é o certo nesse caso).
Ajustando o modelo nulo (sem tratamento)
modelo_nulo <- lmer(
AACPD ~ 1 + (1 | Planta/Trifolio/Foliolo/Avaliador),
data = aacpd_result,
REML = FALSE
)É igual ao modelo anterior, mas sem o efeito fixo de Tratamento. Serve como base de comparação.
Comparação robusta por bootstrap
comparacao_robusta <- PBmodcomp(modelo_completo, modelo_nulo, nsim = 1000)
print(comparacao_robusta)Bootstrap test; time: 74.55 sec; samples: 1000; extremes: 0;
large : AACPD ~ Tratamento + (1 | Planta/Trifolio/Foliolo/Avaliador)
stat df p.value
LRT 150.84 10 < 2.2e-16 ***
PBtest 150.84 0.000999 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Ele comparou os dois modelos com bootstrap paramétrico (via
PBmodcomp).Isso gerou um p-valor mais robusto, mesmo se os dados não fossem perfeitamente normais.
Para analisar o efeito dos tratamentos sobre a progressão da ferrugem asiática da soja, utilizamos um modelo de efeitos mistos, que permite considerar a estrutura hierárquica dos dados (planta, trifólio, folíolo e avaliador) como fontes de variação aleatória. A variável resposta foi a área abaixo da curva de progresso da doença (AACPD), calculada para cada folíolo. O efeito fixo de interesse foi o tratamento, enquanto os demais fatores foram tratados como efeitos aleatórios. A comparação entre o modelo completo (com tratamento) e o modelo nulo (sem tratamento), realizada via bootstrap, indicou se o tratamento teve efeito significativo sobre a severidade acumulada da doença, controlando a variabilidade natural do experimento.