library(nlme) # Modelos de efeitos mistos.
# Para não exibir o bloco de correlação entre estimativas dos efeitos
# fixos na saída do `summary()`. ATTENTION: tem que vir antes da
# `lmerTest`.
assignInNamespace("print.correlation",
function(x, title) return(),
ns = "nlme")
library(lmerTest) # Testes de hipótese para classe lme e similares.
library(emmeans) # Médias ajustadas.
library(tidyverse) # Manipulação e visualização de dados.
# Para apresentar letras ordenadas com o "a" vínculado a maior média.
numbers_to_letters <- function(.group) {
list_num <- trimws(.group) %>%
strsplit(split = "")
n <- max(as.integer(unlist(list_num)))
list_num %>%
lapply(FUN = function(x) sort(letters[n:1][as.integer(x)])) %>%
sapply(FUN = paste, collapse = "")
}
# Função para fazer os gráficos com anotações das médias.
gg_means <- function(data = grid,
mapping = list(x = "Mate"),
facets = ~Amb,
fmt = "%0.2f %s",
labs = list(x = "Mate",
y = "???",
subtitle = "Ambiente")) {
ggplot(data = data,
mapping = aes(x = eval(parse(text = mapping$x)),
y = emmean)) +
facet_grid(facets = facets) +
geom_point() +
geom_errorbar(mapping = aes(ymin = lower.CL, ymax = upper.CL),
width = 0.1) +
geom_text(mapping = aes(label = sprintf(fmt, emmean, cld)),
angle = 90,
vjust = 0,
nudge_x = -0.075) +
labs(x = labs$x, y = labs$y) +
ggtitle(label = NULL, subtitle = labs$subtitle)
}
# Texto para a legenda conforme cada fator.
legends <- list(Mate = "Concentração de mate",
Per = "Período de postura",
Amb = "Ambiente de armazenamento")
#
# Leitura da tabela de dados.
url <- "Dados níveis de erva-mate - PARA ENVIAR ESTATISTICA.xlsx"
tb <- gdata::read.xls(xls = url,
sheet = 2,
na.strings = ".",
check.names = FALSE)
tb <- tb[, nchar(names(tb)) > 1]
# Adequação dos nomes das variáveis.
names(tb) <- names(tb) %>%
str_to_lower() %>%
str_replace_all("[[:punct:]]", "")
str(tb)
## 'data.frame': 360 obs. of 19 variables:
## $ mate : num 0 0 0 0 0 0 0 0 0 0 ...
## $ rep : int 1 2 3 4 5 6 1 2 3 4 ...
## $ per : int 1 1 1 1 1 1 2 2 2 2 ...
## $ amb : Factor w/ 3 levels "AM","FR","REF": 1 1 1 1 1 1 1 1 1 1 ...
## $ pi : num 60.6 50.6 55.9 62.6 55.5 ...
## $ gravesp : int 1050 1050 1060 1050 1050 1055 1050 1060 1055 1050 ...
## $ altalb : num 6.25 6.87 6.95 7.54 8.13 8.21 5.44 5.19 4.36 5.43 ...
## $ uh : num 79.1 86.5 85.5 87 92.2 ...
## $ altge : num 15.1 15.2 14.4 15.7 15.6 ...
## $ diamge : num 48.4 45.4 50 48.5 48 ...
## $ pesoge : num 17.2 14.8 14.8 16.8 15.8 ...
## $ pecasca : num 7.53 5.6 5.39 5.64 5.34 4.43 5.8 5.65 5.93 6.36 ...
## $ pealb : num 33.3 27.4 32.1 36.9 31 ...
## $ masovo : num 50.5 42.2 47 53.6 46.8 ...
## $ espcasca: num 0.87 0.93 0.94 0.82 0.83 0.82 1.06 0.92 0.72 1.05 ...
## $ l : num 62.1 56.9 57.5 63.7 60.1 ...
## $ a : num 1.87 2.62 2.76 1.51 1.82 1.71 2.17 1.29 1.71 2.26 ...
## $ b : num 50.8 58.3 57.3 57.8 52.8 ...
## $ ph : num 6.8 6.5 6.7 6.3 6.3 6.3 6.3 6.3 6.3 6.3 ...
# Faz ordenação dos registros.
tb <- tb %>%
arrange(mate, rep, per, amb)
# Número de repetições de cada ponto experimental.
ftable(xtabs(~amb + per + mate, data = tb))
## mate 0 1.5 3 4.5 6
## amb per
## AM 1 6 6 6 6 6
## 2 6 6 6 6 6
## 3 6 6 6 6 6
## 4 6 6 6 6 6
## FR 1 6 6 6 6 6
## 2 6 6 6 6 6
## 3 6 6 6 6 6
## 4 6 6 6 6 6
## REF 1 6 6 6 6 6
## 2 6 6 6 6 6
## 3 6 6 6 6 6
## 4 6 6 6 6 6
# Versão empilhada ou verticalizada das respostas.
tb_long <- tb %>%
gather(key = "variable", value = "value", pi:ph)
str(tb_long)
## 'data.frame': 5400 obs. of 6 variables:
## $ mate : num 0 0 0 0 0 0 0 0 0 0 ...
## $ rep : int 1 1 1 1 1 1 1 1 1 1 ...
## $ per : int 1 1 1 2 2 2 3 3 3 4 ...
## $ amb : Factor w/ 3 levels "AM","FR","REF": 1 2 3 1 2 3 1 2 3 1 ...
## $ variable: chr "pi" "pi" "pi" "pi" ...
## $ value : num 60.6 60.3 60.8 58.6 64.7 ...
ggplot(data = tb_long,
mapping = aes(x = mate, y = value, color = factor(per))) +
facet_wrap(facets = ~variable, scale = "free_y") +
# geom_point() +
geom_jitter(width = 0.1, height = 0) +
stat_summary(mapping = aes(group = per),
fun.y = "mean",
geom = "line") +
labs(x = "Concentração de mate",
y = "Valor de cada resposta")
ggplot(data = tb_long,
mapping = aes(x = per, y = value, color = factor(mate))) +
facet_wrap(facets = ~variable, scale = "free_y") +
# geom_point() +
geom_jitter(width = 0.1, height = 0) +
stat_summary(mapping = aes(group = mate),
fun.y = "mean",
geom = "line") +
labs(x = "Período de postura",
y = "Valor de cada resposta")
# ATTENTION: valores atípicos para algumas variáveis.
tb$a[tb$a > 7.5] <- NA
tb$espcasca[tb$espcasca > 2] <- NA
tb$gravesp[tb$gravesp > 1150] <- NA
tb$diamge[tb$diamge < 25] <- NA
# Conta os valores presentes (tamanho de amostra).
tb %>%
group_by(mate, per) %>%
summarise_at(vars(-(1:4)),
function(x) sum(is.finite(x)))
## # A tibble: 20 x 15
## # Groups: mate [5]
## mate per altalb uh altge diamge pesoge pecasca pealb masovo
## <dbl> <int> <int> <int> <int> <int> <int> <int> <int> <int>
## 1 0 1 18 18 18 18 18 18 18 18
## 2 0 2 18 18 18 18 18 18 18 18
## 3 0 3 18 18 18 18 18 18 18 18
## 4 0 4 18 18 18 18 18 18 18 18
## 5 1.5 1 18 18 18 18 18 18 18 18
## 6 1.5 2 18 18 18 18 18 18 18 18
## 7 1.5 3 18 18 18 18 18 18 18 18
## 8 1.5 4 18 18 18 18 18 18 18 18
## 9 3 1 18 18 18 18 18 18 18 18
## 10 3 2 18 18 18 18 18 18 18 18
## 11 3 3 18 18 18 18 18 18 18 18
## 12 3 4 18 18 18 18 18 18 18 18
## 13 4.5 1 18 18 18 18 18 18 18 18
## 14 4.5 2 18 18 18 18 18 18 18 18
## 15 4.5 3 18 18 18 18 18 18 18 18
## 16 4.5 4 18 18 18 18 18 18 18 18
## 17 6 1 18 18 18 18 18 18 18 18
## 18 6 2 18 18 18 18 18 18 18 18
## 19 6 3 18 18 18 17 18 18 18 18
## 20 6 4 18 18 18 18 18 18 18 18
## # … with 5 more variables: espcasca <int>, l <int>, a <int>, b <int>,
## # ph <int>
# Conta os valores ausentes.
tb %>%
group_by(mate, per) %>%
summarise_at(vars(-(1:4)),
function(x) sum(is.na(x)))
## # A tibble: 20 x 15
## # Groups: mate [5]
## mate per altalb uh altge diamge pesoge pecasca pealb masovo
## <dbl> <int> <int> <int> <int> <int> <int> <int> <int> <int>
## 1 0 1 0 0 0 0 0 0 0 0
## 2 0 2 0 0 0 0 0 0 0 0
## 3 0 3 0 0 0 0 0 0 0 0
## 4 0 4 0 0 0 0 0 0 0 0
## 5 1.5 1 0 0 0 0 0 0 0 0
## 6 1.5 2 0 0 0 0 0 0 0 0
## 7 1.5 3 0 0 0 0 0 0 0 0
## 8 1.5 4 0 0 0 0 0 0 0 0
## 9 3 1 0 0 0 0 0 0 0 0
## 10 3 2 0 0 0 0 0 0 0 0
## 11 3 3 0 0 0 0 0 0 0 0
## 12 3 4 0 0 0 0 0 0 0 0
## 13 4.5 1 0 0 0 0 0 0 0 0
## 14 4.5 2 0 0 0 0 0 0 0 0
## 15 4.5 3 0 0 0 0 0 0 0 0
## 16 4.5 4 0 0 0 0 0 0 0 0
## 17 6 1 0 0 0 0 0 0 0 0
## 18 6 2 0 0 0 0 0 0 0 0
## 19 6 3 0 0 0 1 0 0 0 0
## 20 6 4 0 0 0 0 0 0 0 0
## # … with 5 more variables: espcasca <int>, l <int>, a <int>, b <int>,
## # ph <int>
# Cria variável para representar a parcela e cria cópias como fator.
tb <- tb %>%
mutate(parcela = interaction(mate, rep, drop = TRUE),
subparc = interaction(mate, rep, per, drop = TRUE),
Mate = factor(mate),
Per = factor(per),
Amb = factor(amb))
#
O modelo correspondente ao experimento em parcelas subsubdivididas é \[ \begin{aligned} y_{ijkl}| ijkl &\sim \text{Normal}(\mu_{ijk}, \sigma^2) \\ \mu_{ijk} &= \mu + \alpha_i + e_{il} + \beta_j + \gamma_{ij} + e_{ijl} + \psi_k + \phi_{ik} + \kappa_{jk} + \lambda_{ijk}\\ e_{il} &\sim \text{Normal}(0, \sigma_{p}^2)\\ e_{ijl} &\sim \text{Normal}(0, \sigma_{s}^2)\\ \end{aligned} \]
em que * \(y_{ijkl}\) é o valor observado na repetição \(l\) (\(l = 1, \ldots, 6\)) ponto experimental \(ijk\) (\(i = 1, \ldots, 6\); \(j = 1, \ldots, 4\); \(k = 1, \ldots, 3\)), * \(\alpha_i\) é o conjunto de parâmetros que acomoda o efeito principal de concentração de mate, * \(\beta_j\) é o conjunto de parâmetros que acomoda o efeito principal de período de postura, * \(\psi_k\) é o conjunto de parâmetros que acomoda o efeito principal de ambiente de armazenamento, * \(\gamma_{ij}\) é o conjunto de parâmetros que acomoda o efeito de interação entre mate e período, * \(\phi_{ik}\) é o conjunto de parâmetros que acomoda o efeito de interação entre mate e ambiente, * \(\kappa_{jk}\) é o conjunto de parâmetros que acomoda o efeito de interação entre período e ambiente, * \(\lambda_{ijk}\) é o conjunto de parâmetros que acomoda o efeito de interação entre mate, período e ambiente, * \(e_{il}\) acomoda o erro experimental ao nível de parcelas e * \(e_{ijl}\) acomoda o erro experimental ao nível de subparcelas.
O modelo é ajustado aos dados pelo método da máxima verossimilhança restrita (REML).
Havendo interação entre duplas ou tripla, a prioridade para estudo dos efeitos será Mate > Ambiente > Período.
altalb
# Modelo de 1 extrato para avaliar os pressupostos.
m0 <- lm(terms(altalb ~
Mate + Mate:factor(rep) +
Per + Mate:Per + Mate:Per:factor(rep) +
Amb + Mate:Amb + Per:Amb + Mate:Per:Amb,
keep.order = TRUE),
data = tb)
par(mfrow = c(2, 2))
plot(m0)
layout(1)
# Apenas para verificação. Estatísticas F erradas pros estratos
# superiores.
anova(m0)
## Analysis of Variance Table
##
## Response: altalb
## Df Sum Sq Mean Sq F value Pr(>F)
## Mate 4 10.131 2.533 2.7792 0.02803 *
## Mate:factor(rep) 25 24.609 0.984 1.0802 0.36813
## Per 3 131.225 43.742 48.0009 < 2.2e-16 ***
## Mate:Per 12 22.670 1.889 2.0732 0.02018 *
## Mate:factor(rep):Per 75 78.097 1.041 1.1427 0.23236
## Amb 2 5.703 2.851 3.1291 0.04591 *
## Mate:Amb 8 14.928 1.866 2.0477 0.04268 *
## Per:Amb 6 68.506 11.418 12.5294 5.618e-12 ***
## Mate:Per:Amb 24 26.833 1.118 1.2269 0.22210
## Residuals 200 182.253 0.911
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Ajuste do modelo de efeitos aleatórios.
mm0 <- lme(altalb ~ Mate * Per * Amb,
random = ~1 | parcela/subparc,
method = "ML",
na.action = na.omit,
data = tb)
# Quadro de testes para o termos de efeito fixo.
anova(mm0)
## numDF denDF F-value p-value
## (Intercept) 1 200 17625.197 <.0001
## Mate 4 25 2.466 0.0710
## Per 3 75 42.589 <.0001
## Amb 2 200 3.129 0.0459
## Mate:Per 12 75 1.839 0.0567
## Mate:Amb 8 200 2.048 0.0427
## Per:Amb 6 200 12.529 <.0001
## Mate:Per:Amb 24 200 1.227 0.2221
# Atualiza mantendo até os termos de dupla ordem.
# mm1 <- update(mm0, . ~ (Mate + Per + Amb)^2)
mm1 <- update(mm0, . ~ (Mate + Per) * Amb)
# Teste da razão de verossimilhanças (é anticonservador para teste de
# termos de efeitos fixos).
anova(mm1, mm0)
## Model df AIC BIC logLik Test L.Ratio p-value
## mm1 1 27 1047.801 1152.726 -496.9006
## mm0 2 63 1062.903 1307.728 -468.4517 1 vs 2 56.89776 0.0147
# Estimativas dos parâmetros.
summary(mm1)
## Linear mixed-effects model fit by maximum likelihood
## Data: tb
## AIC BIC logLik
## 1047.801 1152.726 -496.9006
##
## Random effects:
## Formula: ~1 | parcela
## (Intercept)
## StdDev: 4.854454e-05
##
## Formula: ~1 | subparc %in% parcela
## (Intercept) Residual
## StdDev: 0.2405639 0.9333769
##
## Fixed effects: altalb ~ Mate + Per + Amb + Mate:Amb + Per:Amb
## Value Std.Error DF t-value p-value
## (Intercept) 7.037250 0.2576076 224 27.317712 0.0000
## Mate1.5 0.660417 0.2880140 25 2.293002 0.0305
## Mate3 0.536250 0.2880140 25 1.861888 0.0744
## Mate4.5 0.898333 0.2880140 25 3.119061 0.0045
## Mate6 0.298750 0.2880140 25 1.037276 0.3095
## Per2 -1.209333 0.2576076 87 -4.694479 0.0000
## Per3 0.686667 0.2576076 87 2.665553 0.0092
## Per4 -1.008000 0.2576076 87 -3.912928 0.0002
## AmbFR -0.015083 0.3527833 224 -0.042755 0.9659
## AmbREF -0.099083 0.3527833 224 -0.280862 0.7791
## Mate1.5:AmbFR -1.044583 0.3944237 224 -2.648379 0.0087
## Mate3:AmbFR -0.565417 0.3944237 224 -1.433526 0.1531
## Mate4.5:AmbFR -0.993750 0.3944237 224 -2.519499 0.0124
## Mate6:AmbFR -0.340833 0.3944237 224 -0.864130 0.3884
## Mate1.5:AmbREF -0.480833 0.3944237 224 -1.219078 0.2241
## Mate3:AmbREF -0.407083 0.3944237 224 -1.032096 0.3031
## Mate4.5:AmbREF -0.213333 0.3944237 224 -0.540873 0.5891
## Mate6:AmbREF 0.450000 0.3944237 224 1.140905 0.2551
## Per2:AmbFR 0.283000 0.3527833 224 0.802192 0.4233
## Per3:AmbFR 0.670000 0.3527833 224 1.899183 0.0588
## Per4:AmbFR 0.610667 0.3527833 224 1.730997 0.0848
## Per2:AmbREF 0.259333 0.3527833 224 0.735107 0.4630
## Per3:AmbREF -0.745333 0.3527833 224 -2.112723 0.0357
## Per4:AmbREF 1.749000 0.3527833 224 4.957718 0.0000
##
## Standardized Within-Group Residuals:
## Min Q1 Med Q3 Max
## -5.171890245 -0.625263160 0.002635295 0.619253133 4.158987211
##
## Number of Observations: 360
## Number of Groups:
## parcela subparc %in% parcela
## 30 120
# Médias ajustadas.
emm <- emmeans(mm1, specs = ~Mate + Per + Amb)
ggplot(data = as.data.frame(emm),
mapping = aes(x = Amb,
y = emmean)) +
facet_grid(facets = Mate ~ Per) +
geom_point() +
geom_line(mapping = aes(group = 1)) +
geom_errorbar(mapping = aes(ymin = lower.CL,
ymax = upper.CL),
width = 0.1) +
labs(x = "Ambiente de armazenamento",
y = "altalb") +
ggtitle(label = NULL,
subtitle = "Concentração de mate x período de postura")
ggplot(data = as.data.frame(emm),
mapping = aes(x = Per,
y = emmean)) +
facet_grid(facets = Mate ~ Amb) +
geom_point() +
geom_line(mapping = aes(group = 1)) +
geom_errorbar(mapping = aes(ymin = lower.CL,
ymax = upper.CL),
width = 0.1) +
labs(x = "Período de postura",
y = "altalb") +
ggtitle(label = NULL,
subtitle = "Concentração de mate x ambiente de armazenamento")
ggplot(data = as.data.frame(emm),
mapping = aes(x = Mate,
y = emmean)) +
facet_grid(facets = Amb ~ Per) +
geom_point() +
geom_line(mapping = aes(group = 1)) +
geom_errorbar(mapping = aes(ymin = lower.CL,
ymax = upper.CL),
width = 0.1) +
labs(x = "Concentração de mate",
y = "altalb") +
ggtitle(label = NULL,
subtitle = "Ambiente de armazenamento x período de postura")
# Estudo da interação Per:Amb via Amb | Per.
emm <- emmeans(mm1, specs = ~Amb | Per)
grid <- multcomp::cld(emm)
grid
## Per = 1:
## Amb emmean SE df lower.CL upper.CL .group
## FR 6.91 0.182 25 6.54 7.29 1
## REF 7.29 0.182 25 6.91 7.66 12
## AM 7.52 0.182 25 7.14 7.89 2
##
## Per = 2:
## Amb emmean SE df lower.CL upper.CL .group
## FR 5.99 0.182 25 5.61 6.36 1
## AM 6.31 0.182 25 5.93 6.68 1
## REF 6.34 0.182 25 5.96 6.71 1
##
## Per = 3:
## Amb emmean SE df lower.CL upper.CL .group
## REF 7.23 0.182 25 6.85 7.60 1
## AM 8.20 0.182 25 7.83 8.58 2
## FR 8.27 0.182 25 7.89 8.64 2
##
## Per = 4:
## Amb emmean SE df lower.CL upper.CL .group
## AM 6.51 0.182 25 6.13 6.88 1
## FR 6.51 0.182 25 6.14 6.89 1
## REF 8.03 0.182 25 7.65 8.40 2
##
## Results are averaged over the levels of: Mate
## d.f. method: containment
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 3 estimates
## significance level used: alpha = 0.05
grid <- grid %>%
group_by(Per) %>%
mutate(cld = numbers_to_letters(.group)) %>%
ungroup()
gg_means(grid,
mapping = list(x = "Amb"),
facets = ~Per,
labs = list(x = legends$Amb,
y = "altalb",
subtitle = legends$Per))
# Estudo da interação Mate:Amb via Mate | Amb.
emm <- emmeans(mm1, specs = ~Mate | Amb)
grid <- multcomp::cld(emm)
grid
## Amb = AM:
## Mate emmean SE df lower.CL upper.CL .group
## 0 6.65 0.204 29 6.24 7.07 1
## 6 6.95 0.204 25 6.53 7.37 12
## 3 7.19 0.204 25 6.77 7.61 12
## 1.5 7.32 0.204 25 6.90 7.73 12
## 4.5 7.55 0.204 25 7.13 7.97 2
##
## Amb = FR:
## Mate emmean SE df lower.CL upper.CL .group
## 1.5 6.65 0.204 25 6.23 7.07 1
## 4.5 6.93 0.204 25 6.52 7.35 1
## 6 6.99 0.204 25 6.57 7.41 1
## 3 7.00 0.204 25 6.58 7.42 1
## 0 7.03 0.204 29 6.61 7.45 1
##
## Amb = REF:
## Mate emmean SE df lower.CL upper.CL .group
## 0 6.87 0.204 29 6.45 7.29 1
## 3 7.00 0.204 25 6.58 7.42 1
## 1.5 7.05 0.204 25 6.63 7.47 1
## 4.5 7.56 0.204 25 7.14 7.98 1
## 6 7.62 0.204 25 7.20 8.04 1
##
## Results are averaged over the levels of: Per
## d.f. method: containment
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 5 estimates
## significance level used: alpha = 0.05
grid <- grid %>%
group_by(Amb) %>%
mutate(cld = numbers_to_letters(.group)) %>%
ungroup()
gg_means(grid,
mapping = list(x = "Mate"),
facets = ~Amb,
labs = list(x = legends$Mate,
y = "altalb",
subtitle = legends$Amb))
#
altge
# Modelo de 1 extrato para avaliar os pressupostos.
m0 <- lm(terms(altge ~
Mate + Mate:factor(rep) +
Per + Mate:Per + Mate:Per:factor(rep) +
Amb + Mate:Amb + Per:Amb + Mate:Per:Amb,
keep.order = TRUE),
data = tb)
par(mfrow = c(2, 2))
plot(m0)
layout(1)
# Apenas para verificação. Estatísticas F erradas pros estratos
# superiores.
anova(m0)
## Analysis of Variance Table
##
## Response: altge
## Df Sum Sq Mean Sq F value Pr(>F)
## Mate 4 6.95 1.736 1.6516 0.16279
## Mate:factor(rep) 25 46.11 1.844 1.7543 0.01855 *
## Per 3 39.45 13.149 12.5077 1.573e-07 ***
## Mate:Per 12 53.33 4.444 4.2277 6.118e-06 ***
## Mate:factor(rep):Per 75 92.57 1.234 1.1741 0.19069
## Amb 2 157.80 78.900 75.0518 < 2.2e-16 ***
## Mate:Amb 8 43.12 5.390 5.1274 7.989e-06 ***
## Per:Amb 6 524.52 87.420 83.1564 < 2.2e-16 ***
## Mate:Per:Amb 24 69.82 2.909 2.7673 5.618e-05 ***
## Residuals 200 210.25 1.051
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Ajuste do modelo de efeitos aleatórios.
mm0 <- lme(altge ~ Mate * Per * Amb,
random = ~1 | parcela/subparc,
method = "ML",
na.action = na.omit,
data = tb)
# Quadro de testes para o termos de efeito fixo.
anova(mm0)
## numDF denDF F-value p-value
## (Intercept) 1 200 46032.19 <.0001
## Mate 4 25 0.94 0.4564
## Per 3 75 10.65 <.0001
## Amb 2 200 75.05 <.0001
## Mate:Per 12 75 3.60 0.0003
## Mate:Amb 8 200 5.13 <.0001
## Per:Amb 6 200 83.16 <.0001
## Mate:Per:Amb 24 200 2.77 0.0001
mm1 <- mm0
# Estimativas dos parâmetros.
summary(mm1)
## Linear mixed-effects model fit by maximum likelihood
## Data: tb
## AIC BIC logLik
## 1131.306 1376.13 -502.6529
##
## Random effects:
## Formula: ~1 | parcela
## (Intercept)
## StdDev: 0.2058209
##
## Formula: ~1 | subparc %in% parcela
## (Intercept) Residual
## StdDev: 0.2254629 0.93598
##
## Fixed effects: altge ~ Mate * Per * Amb
## Value Std.Error DF t-value p-value
## (Intercept) 15.191667 0.4402850 200 34.50417 0.0000
## Mate1.5 0.806667 0.6226570 25 1.29552 0.2070
## Mate3 -0.053333 0.6226570 25 -0.08565 0.9324
## Mate4.5 0.331667 0.6226570 25 0.53266 0.5990
## Mate6 -1.991667 0.6226570 25 -3.19866 0.0037
## Per2 -2.578333 0.6088981 75 -4.23443 0.0001
## Per3 0.390000 0.6088981 75 0.64050 0.5238
## Per4 -2.061667 0.6088981 75 -3.38590 0.0011
## AmbFR 2.178333 0.5919657 200 3.67983 0.0003
## AmbREF 0.415000 0.5919657 200 0.70105 0.4841
## Mate1.5:Per2 0.015000 0.8611119 75 0.01742 0.9861
## Mate3:Per2 1.623333 0.8611119 75 1.88516 0.0633
## Mate4.5:Per2 0.275000 0.8611119 75 0.31935 0.7503
## Mate6:Per2 2.310000 0.8611119 75 2.68258 0.0090
## Mate1.5:Per3 0.121667 0.8611119 75 0.14129 0.8880
## Mate3:Per3 0.458333 0.8611119 75 0.53226 0.5961
## Mate4.5:Per3 -0.523333 0.8611119 75 -0.60774 0.5452
## Mate6:Per3 2.671667 0.8611119 75 3.10258 0.0027
## Mate1.5:Per4 -0.823333 0.8611119 75 -0.95613 0.3421
## Mate3:Per4 0.498333 0.8611119 75 0.57871 0.5645
## Mate4.5:Per4 1.795000 0.8611119 75 2.08451 0.0405
## Mate6:Per4 3.161667 0.8611119 75 3.67161 0.0004
## Mate1.5:AmbFR -2.570000 0.8371660 200 -3.06988 0.0024
## Mate3:AmbFR -2.553333 0.8371660 200 -3.04997 0.0026
## Mate4.5:AmbFR -2.623333 0.8371660 200 -3.13359 0.0020
## Mate6:AmbFR 1.356667 0.8371660 200 1.62055 0.1067
## Mate1.5:AmbREF -0.463333 0.8371660 200 -0.55345 0.5806
## Mate3:AmbREF -0.500000 0.8371660 200 -0.59725 0.5510
## Mate4.5:AmbREF 0.875000 0.8371660 200 1.04519 0.2972
## Mate6:AmbREF -0.821667 0.8371660 200 -0.98149 0.3275
## Per2:AmbFR -1.043333 0.8371660 200 -1.24627 0.2141
## Per3:AmbFR -0.386667 0.8371660 200 -0.46188 0.6447
## Per4:AmbFR -0.015000 0.8371660 200 -0.01792 0.9857
## Per2:AmbREF 5.305000 0.8371660 200 6.33686 0.0000
## Per3:AmbREF -2.223333 0.8371660 200 -2.65579 0.0086
## Per4:AmbREF 3.136667 0.8371660 200 3.74677 0.0002
## Mate1.5:Per2:AmbFR 0.676667 1.1839315 200 0.57154 0.5683
## Mate3:Per2:AmbFR 0.986667 1.1839315 200 0.83338 0.4056
## Mate4.5:Per2:AmbFR 2.026667 1.1839315 200 1.71181 0.0885
## Mate6:Per2:AmbFR -1.478333 1.1839315 200 -1.24866 0.2132
## Mate1.5:Per3:AmbFR 0.953333 1.1839315 200 0.80523 0.4216
## Mate3:Per3:AmbFR 2.058333 1.1839315 200 1.73856 0.0837
## Mate4.5:Per3:AmbFR 2.170000 1.1839315 200 1.83288 0.0683
## Mate6:Per3:AmbFR -2.013333 1.1839315 200 -1.70055 0.0906
## Mate1.5:Per4:AmbFR 2.121667 1.1839315 200 1.79205 0.0746
## Mate3:Per4:AmbFR 1.845000 1.1839315 200 1.55837 0.1207
## Mate4.5:Per4:AmbFR 0.020000 1.1839315 200 0.01689 0.9865
## Mate6:Per4:AmbFR -2.781667 1.1839315 200 -2.34952 0.0198
## Mate1.5:Per2:AmbREF -0.318333 1.1839315 200 -0.26888 0.7883
## Mate3:Per2:AmbREF -0.515000 1.1839315 200 -0.43499 0.6640
## Mate4.5:Per2:AmbREF -2.045000 1.1839315 200 -1.72730 0.0857
## Mate6:Per2:AmbREF 0.405000 1.1839315 200 0.34208 0.7326
## Mate1.5:Per3:AmbREF 0.013333 1.1839315 200 0.01126 0.9910
## Mate3:Per3:AmbREF 0.981667 1.1839315 200 0.82916 0.4080
## Mate4.5:Per3:AmbREF 1.158333 1.1839315 200 0.97838 0.3291
## Mate6:Per3:AmbREF 1.151667 1.1839315 200 0.97275 0.3319
## Mate1.5:Per4:AmbREF -0.168333 1.1839315 200 -0.14218 0.8871
## Mate3:Per4:AmbREF -0.098333 1.1839315 200 -0.08306 0.9339
## Mate4.5:Per4:AmbREF -2.935000 1.1839315 200 -2.47903 0.0140
## Mate6:Per4:AmbREF -0.975000 1.1839315 200 -0.82353 0.4112
##
## Standardized Within-Group Residuals:
## Min Q1 Med Q3 Max
## -3.50051768 -0.55275335 -0.01985377 0.51530953 3.69723642
##
## Number of Observations: 360
## Number of Groups:
## parcela subparc %in% parcela
## 30 120
# Médias ajustadas.
emm <- emmeans(mm1, specs = ~Mate + Per + Amb)
ggplot(data = as.data.frame(emm),
mapping = aes(x = Amb,
y = emmean)) +
facet_grid(facets = Mate ~ Per) +
geom_point() +
geom_line(mapping = aes(group = 1)) +
geom_errorbar(mapping = aes(ymin = lower.CL,
ymax = upper.CL),
width = 0.1) +
labs(x = "Ambiente de armazenamento",
y = "altge") +
ggtitle(label = NULL,
subtitle = "Concentração de mate x período de postura")
ggplot(data = as.data.frame(emm),
mapping = aes(x = Per,
y = emmean)) +
facet_grid(facets = Mate ~ Amb) +
geom_point() +
geom_line(mapping = aes(group = 1)) +
geom_errorbar(mapping = aes(ymin = lower.CL,
ymax = upper.CL),
width = 0.1) +
labs(x = "Período de postura",
y = "altge") +
ggtitle(label = NULL,
subtitle = "Concentração de mate x ambiente de armazenamento")
ggplot(data = as.data.frame(emm),
mapping = aes(x = Mate,
y = emmean)) +
facet_grid(facets = Amb ~ Per) +
geom_point() +
geom_line(mapping = aes(group = 1)) +
geom_errorbar(mapping = aes(ymin = lower.CL,
ymax = upper.CL),
width = 0.1) +
labs(x = "Concentração de mate",
y = "altge") +
ggtitle(label = NULL,
subtitle = "Ambiente de armazenamento x período de postura")
# Estudo da interação Mate:Per:Amb via Mate | Per + Amb.
emm <- emmeans(mm1, specs = ~Mate | Per + Amb)
grid <- multcomp::cld(emm)
grid
## Per = 1, Amb = AM:
## Mate emmean SE df lower.CL upper.CL .group
## 6 13.2 0.44 25 12.3 14.1 1
## 3 15.1 0.44 25 14.2 16.0 2
## 0 15.2 0.44 29 14.3 16.1 2
## 4.5 15.5 0.44 25 14.6 16.4 2
## 1.5 16.0 0.44 25 15.1 16.9 2
##
## Per = 1, Amb = FR:
## Mate emmean SE df lower.CL upper.CL .group
## 3 14.8 0.44 25 13.9 15.7 1
## 4.5 15.1 0.44 25 14.2 16.0 12
## 1.5 15.6 0.44 25 14.7 16.5 123
## 6 16.7 0.44 25 15.8 17.6 23
## 0 17.4 0.44 29 16.5 18.3 3
##
## Per = 1, Amb = REF:
## Mate emmean SE df lower.CL upper.CL .group
## 6 12.8 0.44 25 11.9 13.7 1
## 3 15.1 0.44 25 14.1 16.0 2
## 0 15.6 0.44 29 14.7 16.5 2
## 1.5 15.9 0.44 25 15.0 16.9 2
## 4.5 16.8 0.44 25 15.9 17.7 2
##
## Per = 2, Amb = AM:
## Mate emmean SE df lower.CL upper.CL .group
## 0 12.6 0.44 29 11.7 13.5 1
## 6 12.9 0.44 25 12.0 13.8 1
## 4.5 13.2 0.44 25 12.3 14.1 1
## 1.5 13.4 0.44 25 12.5 14.3 1
## 3 14.2 0.44 25 13.3 15.1 1
##
## Per = 2, Amb = FR:
## Mate emmean SE df lower.CL upper.CL .group
## 1.5 12.7 0.44 25 11.8 13.6 1
## 0 13.7 0.44 29 12.8 14.6 1
## 3 13.8 0.44 25 12.8 14.7 1
## 4.5 13.8 0.44 25 12.9 14.7 1
## 6 13.9 0.44 25 13.0 14.9 1
##
## Per = 2, Amb = REF:
## Mate emmean SE df lower.CL upper.CL .group
## 4.5 17.8 0.44 25 16.9 18.7 1
## 6 18.2 0.44 25 17.3 19.1 1
## 0 18.3 0.44 29 17.4 19.2 1
## 1.5 18.4 0.44 25 17.5 19.3 1
## 3 18.9 0.44 25 18.0 19.8 1
##
## Per = 3, Amb = AM:
## Mate emmean SE df lower.CL upper.CL .group
## 4.5 15.4 0.44 25 14.5 16.3 1
## 0 15.6 0.44 29 14.7 16.5 1
## 3 16.0 0.44 25 15.1 16.9 1
## 6 16.3 0.44 25 15.4 17.2 1
## 1.5 16.5 0.44 25 15.6 17.4 1
##
## Per = 3, Amb = FR:
## Mate emmean SE df lower.CL upper.CL .group
## 1.5 16.7 0.44 25 15.8 17.6 1
## 4.5 16.7 0.44 25 15.8 17.6 1
## 3 17.3 0.44 25 16.4 18.2 1
## 0 17.4 0.44 29 16.5 18.3 1
## 6 17.4 0.44 25 16.5 18.3 1
##
## Per = 3, Amb = REF:
## Mate emmean SE df lower.CL upper.CL .group
## 0 13.8 0.44 29 12.9 14.7 1
## 1.5 14.3 0.44 25 13.3 15.2 12
## 3 14.7 0.44 25 13.8 15.6 12
## 6 14.8 0.44 25 13.9 15.7 12
## 4.5 15.6 0.44 25 14.7 16.5 2
##
## Per = 4, Amb = AM:
## Mate emmean SE df lower.CL upper.CL .group
## 1.5 13.1 0.44 25 12.2 14.0 1
## 0 13.1 0.44 29 12.2 14.0 1
## 3 13.6 0.44 25 12.7 14.5 12
## 6 14.3 0.44 25 13.4 15.2 12
## 4.5 15.3 0.44 25 14.3 16.2 2
##
## Per = 4, Amb = FR:
## Mate emmean SE df lower.CL upper.CL .group
## 4.5 14.8 0.44 25 13.9 15.7 1
## 1.5 14.8 0.44 25 13.9 15.7 1
## 3 15.0 0.44 25 14.1 15.9 1
## 6 15.0 0.44 25 14.1 15.9 1
## 0 15.3 0.44 29 14.4 16.2 1
##
## Per = 4, Amb = REF:
## Mate emmean SE df lower.CL upper.CL .group
## 1.5 16.0 0.44 25 15.1 16.9 1
## 6 16.1 0.44 25 15.1 17.0 1
## 3 16.5 0.44 25 15.6 17.4 1
## 0 16.7 0.44 29 15.8 17.6 1
## 4.5 16.7 0.44 25 15.8 17.7 1
##
## d.f. method: containment
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 5 estimates
## significance level used: alpha = 0.05
grid <- grid %>%
group_by(Per, Amb) %>%
mutate(cld = numbers_to_letters(.group)) %>%
ungroup()
gg_means(grid,
mapping = list(x = "Mate"),
facets = Amb ~ Per,
labs = list(x = legends$Mate,
y = "altge",
subtitle = paste(legends$Amb, "x", legends$Per)))
#
diamge
# Modelo de 1 extrato para avaliar os pressupostos.
m0 <- lm(terms(diamge ~
Mate + Mate:factor(rep) +
Per + Mate:Per + Mate:Per:factor(rep) +
Amb + Mate:Amb + Per:Amb + Mate:Per:Amb,
keep.order = TRUE),
data = tb)
par(mfrow = c(2, 2))
plot(m0)
layout(1)
# Apenas para verificação. Estatísticas F erradas pros estratos
# superiores.
anova(m0)
## Analysis of Variance Table
##
## Response: diamge
## Df Sum Sq Mean Sq F value Pr(>F)
## Mate 4 37.5 9.4 3.3293 0.0114982 *
## Mate:factor(rep) 25 209.6 8.4 2.9752 1.171e-05 ***
## Per 3 460.5 153.5 54.4714 < 2.2e-16 ***
## Mate:Per 12 58.2 4.9 1.7223 0.0642844 .
## Mate:factor(rep):Per 75 273.6 3.6 1.2944 0.0810644 .
## Amb 2 7577.5 3788.7 1344.5511 < 2.2e-16 ***
## Mate:Amb 8 18.2 2.3 0.8069 0.5972109
## Per:Amb 6 202.1 33.7 11.9512 1.905e-11 ***
## Mate:Per:Amb 24 160.7 6.7 2.3766 0.0006076 ***
## Residuals 199 560.8 2.8
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Ajuste do modelo de efeitos aleatórios.
mm0 <- lme(diamge ~ Mate * Per * Amb,
random = ~1 | parcela/subparc,
method = "ML",
na.action = na.omit,
data = tb)
# Quadro de testes para o termos de efeito fixo.
anova(mm0)
## numDF denDF F-value p-value
## (Intercept) 1 199 74132.11 <.0001
## Mate 4 25 1.19 0.3385
## Per 3 75 43.94 <.0001
## Amb 2 199 1347.59 <.0001
## Mate:Per 12 75 1.41 0.1819
## Mate:Amb 8 199 0.82 0.5833
## Per:Amb 6 199 12.07 <.0001
## Mate:Per:Amb 24 199 2.39 0.0006
mm1 <- mm0
# Estimativas dos parâmetros.
summary(mm1)
## Linear mixed-effects model fit by maximum likelihood
## Data: tb
## AIC BIC logLik
## 1501.408 1746.058 -687.7042
##
## Random effects:
## Formula: ~1 | parcela
## (Intercept)
## StdDev: 0.5592441
##
## Formula: ~1 | subparc %in% parcela
## (Intercept) Residual
## StdDev: 0.4339038 1.531334
##
## Fixed effects: diamge ~ Mate * Per * Amb
## Value Std.Error DF t-value p-value
## (Intercept) 48.44667 0.7546651 199 64.19625 0.0000
## Mate1.5 -1.96500 1.0672576 25 -1.84117 0.0775
## Mate3 -0.55833 1.0672576 25 -0.52315 0.6055
## Mate4.5 1.08000 1.0672576 25 1.01194 0.3213
## Mate6 -1.23833 1.0672576 25 -1.16029 0.2569
## Per2 -4.92167 1.0069098 75 -4.88789 0.0000
## Per3 0.10167 1.0069098 75 0.10097 0.9198
## Per4 -2.03833 1.0069098 75 -2.02435 0.0465
## AmbFR -7.48667 0.9687706 199 -7.72801 0.0000
## AmbREF -12.22000 0.9687706 199 -12.61393 0.0000
## Mate1.5:Per2 4.26833 1.4239855 75 2.99746 0.0037
## Mate3:Per2 2.40500 1.4239855 75 1.68892 0.0954
## Mate4.5:Per2 2.21333 1.4239855 75 1.55432 0.1243
## Mate6:Per2 4.87833 1.4239855 75 3.42583 0.0010
## Mate1.5:Per3 0.38500 1.4239855 75 0.27037 0.7876
## Mate3:Per3 -0.42167 1.4239855 75 -0.29612 0.7680
## Mate4.5:Per3 -2.52833 1.4239855 75 -1.77553 0.0799
## Mate6:Per3 0.76167 1.4239855 75 0.53488 0.5943
## Mate1.5:Per4 2.68333 1.4239855 75 1.88438 0.0634
## Mate3:Per4 1.50667 1.4239855 75 1.05806 0.2934
## Mate4.5:Per4 -1.43000 1.4239855 75 -1.00422 0.3185
## Mate6:Per4 3.27000 1.4239855 75 2.29637 0.0244
## Mate1.5:AmbFR 2.36667 1.3700485 199 1.72743 0.0856
## Mate3:AmbFR 0.08000 1.3700485 199 0.05839 0.9535
## Mate4.5:AmbFR -1.57667 1.3700485 199 -1.15081 0.2512
## Mate6:AmbFR 0.38833 1.3700485 199 0.28344 0.7771
## Mate1.5:AmbREF 3.47833 1.3700485 199 2.53884 0.0119
## Mate3:AmbREF 3.37000 1.3700485 199 2.45977 0.0148
## Mate4.5:AmbREF 2.81000 1.3700485 199 2.05102 0.0416
## Mate6:AmbREF 3.49167 1.3700485 199 2.54857 0.0116
## Per2:AmbFR -1.16333 1.3700485 199 -0.84912 0.3968
## Per3:AmbFR -4.88000 1.3700485 199 -3.56192 0.0005
## Per4:AmbFR -3.00333 1.3700485 199 -2.19214 0.0295
## Per2:AmbREF 5.34333 1.3700485 199 3.90011 0.0001
## Per3:AmbREF 0.82000 1.3700485 199 0.59852 0.5502
## Per4:AmbREF 2.59167 1.3700485 199 1.89166 0.0600
## Mate1.5:Per2:AmbFR -6.34500 1.9375412 199 -3.27477 0.0012
## Mate3:Per2:AmbFR -1.19833 1.9375412 199 -0.61848 0.5370
## Mate4.5:Per2:AmbFR 0.43333 1.9375412 199 0.22365 0.8233
## Mate6:Per2:AmbFR -2.38333 1.9375412 199 -1.23008 0.2201
## Mate1.5:Per3:AmbFR -0.31167 1.9375412 199 -0.16086 0.8724
## Mate3:Per3:AmbFR 1.21500 1.9375412 199 0.62708 0.5313
## Mate4.5:Per3:AmbFR 2.58833 1.9375412 199 1.33589 0.1831
## Mate6:Per3:AmbFR -0.48994 1.9643420 199 -0.24941 0.8033
## Mate1.5:Per4:AmbFR -1.72333 1.9375412 199 -0.88944 0.3748
## Mate3:Per4:AmbFR -0.61167 1.9375412 199 -0.31569 0.7526
## Mate4.5:Per4:AmbFR 2.21000 1.9375412 199 1.14062 0.2554
## Mate6:Per4:AmbFR -1.72833 1.9375412 199 -0.89202 0.3735
## Mate1.5:Per2:AmbREF -6.60000 1.9375412 199 -3.40638 0.0008
## Mate3:Per2:AmbREF -4.44833 1.9375412 199 -2.29587 0.0227
## Mate4.5:Per2:AmbREF -7.13500 1.9375412 199 -3.68250 0.0003
## Mate6:Per2:AmbREF -8.46500 1.9375412 199 -4.36894 0.0000
## Mate1.5:Per3:AmbREF -1.36333 1.9375412 199 -0.70364 0.4825
## Mate3:Per3:AmbREF -1.24000 1.9375412 199 -0.63999 0.5229
## Mate4.5:Per3:AmbREF -0.96167 1.9375412 199 -0.49633 0.6202
## Mate6:Per3:AmbREF -2.30167 1.9375412 199 -1.18793 0.2363
## Mate1.5:Per4:AmbREF -3.48500 1.9375412 199 -1.79867 0.0736
## Mate3:Per4:AmbREF -3.65333 1.9375412 199 -1.88555 0.0608
## Mate4.5:Per4:AmbREF -0.35000 1.9375412 199 -0.18064 0.8568
## Mate6:Per4:AmbREF -3.77333 1.9375412 199 -1.94749 0.0529
##
## Standardized Within-Group Residuals:
## Min Q1 Med Q3 Max
## -2.603676510 -0.609075414 -0.003396124 0.537618690 3.351788401
##
## Number of Observations: 359
## Number of Groups:
## parcela subparc %in% parcela
## 30 120
# Médias ajustadas.
emm <- emmeans(mm1, specs = ~Mate + Per + Amb)
ggplot(data = as.data.frame(emm),
mapping = aes(x = Amb,
y = emmean)) +
facet_grid(facets = Mate ~ Per) +
geom_point() +
geom_line(mapping = aes(group = 1)) +
geom_errorbar(mapping = aes(ymin = lower.CL,
ymax = upper.CL),
width = 0.1) +
labs(x = "Ambiente de armazenamento",
y = "diamge") +
ggtitle(label = NULL,
subtitle = "Concentração de mate x período de postura")
ggplot(data = as.data.frame(emm),
mapping = aes(x = Per,
y = emmean)) +
facet_grid(facets = Mate ~ Amb) +
geom_point() +
geom_line(mapping = aes(group = 1)) +
geom_errorbar(mapping = aes(ymin = lower.CL,
ymax = upper.CL),
width = 0.1) +
labs(x = "Período de postura",
y = "diamge") +
ggtitle(label = NULL,
subtitle = "Concentração de mate x ambiente de armazenamento")
ggplot(data = as.data.frame(emm),
mapping = aes(x = Mate,
y = emmean)) +
facet_grid(facets = Amb ~ Per) +
geom_point() +
geom_line(mapping = aes(group = 1)) +
geom_errorbar(mapping = aes(ymin = lower.CL,
ymax = upper.CL),
width = 0.1) +
labs(x = "Concentração de mate",
y = "diamge") +
ggtitle(label = NULL,
subtitle = "Ambiente de armazenamento x período de postura")
# Estudo da interação Mate:Per:Amb via Mate | Per + Amb.
emm <- emmeans(mm1, specs = ~Mate | Per + Amb)
grid <- multcomp::cld(emm)
grid
## Per = 1, Amb = AM:
## Mate emmean SE df lower.CL upper.CL .group
## 1.5 46.5 0.755 25 44.9 48.0 1
## 6 47.2 0.755 25 45.7 48.8 1
## 3 47.9 0.755 25 46.3 49.4 1
## 0 48.4 0.755 29 46.9 50.0 1
## 4.5 49.5 0.755 25 48.0 51.1 1
##
## Per = 1, Amb = FR:
## Mate emmean SE df lower.CL upper.CL .group
## 6 40.1 0.755 25 38.6 41.7 1
## 4.5 40.5 0.755 25 38.9 42.0 1
## 3 40.5 0.755 25 38.9 42.0 1
## 0 41.0 0.755 29 39.4 42.5 1
## 1.5 41.4 0.755 25 39.8 42.9 1
##
## Per = 1, Amb = REF:
## Mate emmean SE df lower.CL upper.CL .group
## 0 36.2 0.755 29 34.7 37.8 1
## 1.5 37.7 0.755 25 36.2 39.3 12
## 6 38.5 0.755 25 36.9 40.0 12
## 3 39.0 0.755 25 37.5 40.6 12
## 4.5 40.1 0.755 25 38.6 41.7 2
##
## Per = 2, Amb = AM:
## Mate emmean SE df lower.CL upper.CL .group
## 0 43.5 0.755 29 42.0 45.1 1
## 3 45.4 0.755 25 43.8 46.9 12
## 1.5 45.8 0.755 25 44.3 47.4 12
## 4.5 46.8 0.755 25 45.3 48.4 2
## 6 47.2 0.755 25 45.6 48.7 2
##
## Per = 2, Amb = FR:
## Mate emmean SE df lower.CL upper.CL .group
## 1.5 33.2 0.755 25 31.6 34.8 1
## 0 34.9 0.755 29 33.3 36.4 12
## 3 35.6 0.755 25 34.0 37.2 12
## 6 36.5 0.755 25 35.0 38.1 2
## 4.5 37.0 0.755 25 35.5 38.6 2
##
## Per = 2, Amb = REF:
## Mate emmean SE df lower.CL upper.CL .group
## 6 35.3 0.755 25 33.8 36.9 1
## 4.5 35.6 0.755 25 34.1 37.2 1
## 1.5 35.8 0.755 25 34.3 37.4 1
## 0 36.6 0.755 29 35.1 38.2 1
## 3 37.4 0.755 25 35.9 39.0 1
##
## Per = 3, Amb = AM:
## Mate emmean SE df lower.CL upper.CL .group
## 1.5 47.0 0.755 25 45.4 48.5 1
## 4.5 47.1 0.755 25 45.5 48.7 1
## 3 47.6 0.755 25 46.0 49.1 1
## 6 48.1 0.755 25 46.5 49.6 1
## 0 48.5 0.755 29 47.0 50.1 1
##
## Per = 3, Amb = FR:
## Mate emmean SE df lower.CL upper.CL .group
## 6 35.6 0.821 25 33.9 37.3 1
## 4.5 35.7 0.755 25 34.2 37.3 1
## 0 36.2 0.755 29 34.6 37.7 1
## 3 36.5 0.755 25 34.9 38.1 1
## 1.5 36.7 0.755 25 35.1 38.2 1
##
## Per = 3, Amb = REF:
## Mate emmean SE df lower.CL upper.CL .group
## 0 37.1 0.755 29 35.6 38.7 1
## 4.5 37.5 0.755 25 36.0 39.1 1
## 1.5 37.7 0.755 25 36.1 39.2 1
## 6 37.9 0.755 25 36.3 39.4 1
## 3 38.3 0.755 25 36.7 39.9 1
##
## Per = 4, Amb = AM:
## Mate emmean SE df lower.CL upper.CL .group
## 4.5 46.1 0.755 25 44.5 47.6 1
## 0 46.4 0.755 29 44.9 48.0 1
## 1.5 47.1 0.755 25 45.6 48.7 1
## 3 47.4 0.755 25 45.8 48.9 1
## 6 48.4 0.755 25 46.9 50.0 1
##
## Per = 4, Amb = FR:
## Mate emmean SE df lower.CL upper.CL .group
## 0 35.9 0.755 29 34.4 37.5 1
## 4.5 36.2 0.755 25 34.6 37.8 1
## 3 36.3 0.755 25 34.8 37.9 1
## 6 36.6 0.755 25 35.1 38.2 1
## 1.5 37.3 0.755 25 35.7 38.8 1
##
## Per = 4, Amb = REF:
## Mate emmean SE df lower.CL upper.CL .group
## 0 36.8 0.755 29 35.2 38.3 1
## 3 37.4 0.755 25 35.9 39.0 1
## 1.5 37.5 0.755 25 35.9 39.0 1
## 6 38.5 0.755 25 37.0 40.1 1
## 4.5 38.9 0.755 25 37.3 40.4 1
##
## d.f. method: containment
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 5 estimates
## significance level used: alpha = 0.05
grid <- grid %>%
group_by(Per, Amb) %>%
mutate(cld = numbers_to_letters(.group)) %>%
ungroup()
gg_means(grid,
mapping = list(x = "Mate"),
facets = Amb ~ Per,
labs = list(x = legends$Mate,
y = "diamge",
subtitle = paste(legends$Amb, "x", legends$Per)))
#
pesoge
# Modelo de 1 extrato para avaliar os pressupostos.
m0 <- lm(terms(pesoge ~
Mate + Mate:factor(rep) +
Per + Mate:Per + Mate:Per:factor(rep) +
Amb + Mate:Amb + Per:Amb + Mate:Per:Amb,
keep.order = TRUE),
data = tb)
par(mfrow = c(2, 2))
plot(m0)
layout(1)
# Apenas para verificação. Estatísticas F erradas pros estratos
# superiores.
anova(m0)
## Analysis of Variance Table
##
## Response: pesoge
## Df Sum Sq Mean Sq F value Pr(>F)
## Mate 4 24.596 6.1489 5.9698 0.0001474 ***
## Mate:factor(rep) 25 69.100 2.7640 2.6835 7.451e-05 ***
## Per 3 21.338 7.1128 6.9056 0.0001902 ***
## Mate:Per 12 13.196 1.0996 1.0676 0.3893575
## Mate:factor(rep):Per 75 71.381 0.9518 0.9240 0.6481299
## Amb 2 9.443 4.7217 4.5842 0.0113085 *
## Mate:Amb 8 6.792 0.8490 0.8243 0.5820649
## Per:Amb 6 59.726 9.9543 9.6643 2.446e-09 ***
## Mate:Per:Amb 24 29.773 1.2406 1.2044 0.2414432
## Residuals 200 206.001 1.0300
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Ajuste do modelo de efeitos aleatórios.
mm0 <- lme(pesoge ~ Mate * Per * Amb,
random = ~1 | parcela/subparc,
method = "ML",
na.action = na.omit,
data = tb)
# Quadro de testes para o termos de efeito fixo.
anova(mm0)
## numDF denDF F-value p-value
## (Intercept) 1 200 34411.10 <.0001
## Mate 4 25 2.22 0.0952
## Per 3 75 7.05 0.0003
## Amb 2 200 4.68 0.0103
## Mate:Per 12 75 1.09 0.3808
## Mate:Amb 8 200 0.84 0.5670
## Per:Amb 6 200 9.87 <.0001
## Mate:Per:Amb 24 200 1.23 0.2196
# Atualiza mantendo os termos relevantes.
mm1 <- update(mm0, . ~ Per * Amb)
# Teste da razão de verossimilhanças (é anticonservador para teste de
# termos de efeitos fixos).
anova(mm1, mm0)
## Model df AIC BIC logLik Test L.Ratio p-value
## mm1 1 15 1082.933 1141.224 -526.4663
## mm0 2 63 1115.347 1360.172 -494.6736 1 vs 2 63.5855 0.0653
# Estimativas dos parâmetros.
summary(mm1)
## Linear mixed-effects model fit by maximum likelihood
## Data: tb
## AIC BIC logLik
## 1082.933 1141.224 -526.4663
##
## Random effects:
## Formula: ~1 | parcela
## (Intercept)
## StdDev: 0.4214914
##
## Formula: ~1 | subparc %in% parcela
## (Intercept) Residual
## StdDev: 0.0001005047 0.9956627
##
## Fixed effects: pesoge ~ Per + Amb + Per:Amb
## Value Std.Error DF t-value p-value
## (Intercept) 16.543000 0.2007743 232 82.39600 0.0000
## Per2 0.235667 0.2614738 87 0.90130 0.3699
## Per3 0.051000 0.2614738 87 0.19505 0.8458
## Per4 -0.533000 0.2614738 87 -2.03844 0.0445
## AmbFR 0.491667 0.2614738 232 1.88037 0.0613
## AmbREF -0.378667 0.2614738 232 -1.44820 0.1489
## Per2:AmbFR -2.203000 0.3697798 232 -5.95760 0.0000
## Per3:AmbFR -1.256000 0.3697798 232 -3.39662 0.0008
## Per4:AmbFR 0.026667 0.3697798 232 0.07211 0.9426
## Per2:AmbREF -0.564000 0.3697798 232 -1.52523 0.1286
## Per3:AmbREF 0.203667 0.3697798 232 0.55078 0.5823
## Per4:AmbREF 0.615333 0.3697798 232 1.66405 0.0975
##
## Standardized Within-Group Residuals:
## Min Q1 Med Q3 Max
## -3.91543657 -0.62607997 0.06669838 0.61290354 3.11232986
##
## Number of Observations: 360
## Number of Groups:
## parcela subparc %in% parcela
## 30 120
# Médias ajustadas.
emm <- emmeans(mm1, specs = ~Per + Amb)
ggplot(data = as.data.frame(emm),
mapping = aes(x = Amb,
y = emmean)) +
facet_grid(facets = ~ Per) +
geom_point() +
geom_line(mapping = aes(group = 1)) +
geom_errorbar(mapping = aes(ymin = lower.CL,
ymax = upper.CL),
width = 0.1) +
labs(x = "Ambiente de armazenamento",
y = "pesoge") +
ggtitle(label = NULL,
subtitle = "Período de postura")
ggplot(data = as.data.frame(emm),
mapping = aes(x = Per,
y = emmean)) +
facet_grid(facets = ~Amb) +
geom_point() +
geom_line(mapping = aes(group = 1)) +
geom_errorbar(mapping = aes(ymin = lower.CL,
ymax = upper.CL),
width = 0.1) +
labs(x = "Período de postura",
y = "pesoge") +
ggtitle(label = NULL,
subtitle = "Ambiente de armazenamento")
# Estudo da interação Per:Amb via Amb | Per.
emm <- emmeans(mm1, specs = ~Amb | Per)
grid <- multcomp::cld(emm)
grid
## Per = 1:
## Amb emmean SE df lower.CL upper.CL .group
## REF 16.2 0.201 29 15.8 16.6 1
## AM 16.5 0.201 29 16.1 17.0 12
## FR 17.0 0.201 29 16.6 17.4 2
##
## Per = 2:
## Amb emmean SE df lower.CL upper.CL .group
## FR 15.1 0.201 29 14.7 15.5 1
## REF 15.8 0.201 29 15.4 16.2 2
## AM 16.8 0.201 29 16.4 17.2 3
##
## Per = 3:
## Amb emmean SE df lower.CL upper.CL .group
## FR 15.8 0.201 29 15.4 16.2 1
## REF 16.4 0.201 29 16.0 16.8 12
## AM 16.6 0.201 29 16.2 17.0 2
##
## Per = 4:
## Amb emmean SE df lower.CL upper.CL .group
## AM 16.0 0.201 29 15.6 16.4 1
## REF 16.2 0.201 29 15.8 16.7 1
## FR 16.5 0.201 29 16.1 16.9 1
##
## d.f. method: containment
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 3 estimates
## significance level used: alpha = 0.05
grid <- grid %>%
group_by(Per) %>%
mutate(cld = numbers_to_letters(.group)) %>%
ungroup()
gg_means(grid,
mapping = list(x = "Amb"),
facets = ~Per,
labs = list(x = legends$Amb,
y = "pesoge",
subtitle = legends$Per))
#
# Modelo de 1 extrato para avaliar os pressupostos.
m0 <- lm(terms(ph ~
Mate + Mate:factor(rep) +
Per + Mate:Per + Mate:Per:factor(rep) +
Amb + Mate:Amb + Per:Amb + Mate:Per:Amb,
keep.order = TRUE),
data = tb)
par(mfrow = c(2, 2))
plot(m0)
layout(1)
# Apenas para verificação. Estatísticas F erradas pros estratos
# superiores.
anova(m0)
## Analysis of Variance Table
##
## Response: ph
## Df Sum Sq Mean Sq F value Pr(>F)
## Mate 4 0.2707 0.06768 2.6076 0.03691 *
## Mate:factor(rep) 25 0.7875 0.03150 1.2136 0.23049
## Per 3 0.0552 0.01841 0.7092 0.54755
## Mate:Per 12 0.5184 0.04320 1.6643 0.07702 .
## Mate:factor(rep):Per 75 1.8814 0.02509 0.9665 0.55893
## Amb 2 1.8169 0.90844 35.0000 9.260e-14 ***
## Mate:Amb 8 0.3323 0.04153 1.6002 0.12664
## Per:Amb 6 1.4484 0.24141 9.3008 5.399e-09 ***
## Mate:Per:Amb 24 0.7713 0.03214 1.2381 0.21287
## Residuals 200 5.1911 0.02596
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Ajuste do modelo de efeitos aleatórios.
mm0 <- lme(ph ~ Mate * Per * Amb,
random = ~1 | parcela/subparc,
method = "ML",
na.action = na.omit,
data = tb)
# Quadro de testes para o termos de efeito fixo.
anova(mm0)
## numDF denDF F-value p-value
## (Intercept) 1 200 443180.5 <.0001
## Mate 4 25 2.1 0.1045
## Per 3 75 0.7 0.5457
## Amb 2 200 35.3 <.0001
## Mate:Per 12 75 1.7 0.0885
## Mate:Amb 8 200 1.6 0.1224
## Per:Amb 6 200 9.4 <.0001
## Mate:Per:Amb 24 200 1.2 0.2038
# Atualiza mantendo os termos relevantes.
mm1 <- update(mm0, . ~ Per * Amb)
# Teste da razão de verossimilhanças (é anticonservador para teste de
# termos de efeitos fixos).
anova(mm1, mm0)
## Model df AIC BIC logLik Test L.Ratio p-value
## mm1 1 15 -248.7262 -190.43461 139.3631
## mm0 2 63 -229.7169 15.10767 177.8584 1 vs 2 76.99071 0.005
# Estimativas dos parâmetros.
summary(mm1)
## Linear mixed-effects model fit by maximum likelihood
## Data: tb
## AIC BIC logLik
## -248.7262 -190.4346 139.3631
##
## Random effects:
## Formula: ~1 | parcela
## (Intercept)
## StdDev: 0.026786
##
## Formula: ~1 | subparc %in% parcela
## (Intercept) Residual
## StdDev: 0.01206122 0.1619499
##
## Fixed effects: ph ~ Per + Amb + Per:Amb
## Value Std.Error DF t-value p-value
## (Intercept) 6.330000 0.03056409 232 207.10580 0.0000
## Per2 0.010000 0.04264792 87 0.23448 0.8152
## Per3 0.080000 0.04264792 87 1.87582 0.0640
## Per4 -0.136667 0.04264792 87 -3.20453 0.0019
## AmbFR -0.183333 0.04253013 232 -4.31067 0.0000
## AmbREF -0.100000 0.04253013 232 -2.35127 0.0195
## Per2:AmbFR 0.026667 0.06014669 232 0.44336 0.6579
## Per3:AmbFR -0.206667 0.06014669 232 -3.43604 0.0007
## Per4:AmbFR 0.220000 0.06014669 232 3.65772 0.0003
## Per2:AmbREF -0.040000 0.06014669 232 -0.66504 0.5067
## Per3:AmbREF -0.070000 0.06014669 232 -1.16382 0.2457
## Per4:AmbREF 0.110000 0.06014669 232 1.82886 0.0687
##
## Standardized Within-Group Residuals:
## Min Q1 Med Q3 Max
## -2.4417630 -0.4940944 -0.1146826 0.2385605 5.9209929
##
## Number of Observations: 360
## Number of Groups:
## parcela subparc %in% parcela
## 30 120
# Médias ajustadas.
emm <- emmeans(mm1, specs = ~Per + Amb)
ggplot(data = as.data.frame(emm),
mapping = aes(x = Amb,
y = emmean)) +
facet_grid(facets = ~ Per) +
geom_point() +
geom_line(mapping = aes(group = 1)) +
geom_errorbar(mapping = aes(ymin = lower.CL,
ymax = upper.CL),
width = 0.1) +
labs(x = "Ambiente de armazenamento",
y = "ph") +
ggtitle(label = NULL,
subtitle = "Período de postura")
ggplot(data = as.data.frame(emm),
mapping = aes(x = Per,
y = emmean)) +
facet_grid(facets = ~Amb) +
geom_point() +
geom_line(mapping = aes(group = 1)) +
geom_errorbar(mapping = aes(ymin = lower.CL,
ymax = upper.CL),
width = 0.1) +
labs(x = "Período de postura",
y = "ph") +
ggtitle(label = NULL,
subtitle = "Ambiente de armazenamento")
# Estudo da interação Per:Amb via Amb | Per.
emm <- emmeans(mm1, specs = ~Amb | Per)
grid <- multcomp::cld(emm)
grid
## Per = 1:
## Amb emmean SE df lower.CL upper.CL .group
## FR 6.15 0.0306 29 6.08 6.21 1
## REF 6.23 0.0306 29 6.17 6.29 12
## AM 6.33 0.0306 29 6.27 6.39 2
##
## Per = 2:
## Amb emmean SE df lower.CL upper.CL .group
## FR 6.18 0.0306 29 6.12 6.25 1
## REF 6.20 0.0306 29 6.14 6.26 1
## AM 6.34 0.0306 29 6.28 6.40 2
##
## Per = 3:
## Amb emmean SE df lower.CL upper.CL .group
## FR 6.02 0.0306 29 5.96 6.08 1
## REF 6.24 0.0306 29 6.18 6.30 2
## AM 6.41 0.0306 29 6.35 6.47 3
##
## Per = 4:
## Amb emmean SE df lower.CL upper.CL .group
## AM 6.19 0.0306 29 6.13 6.26 1
## REF 6.20 0.0306 29 6.14 6.27 1
## FR 6.23 0.0306 29 6.17 6.29 1
##
## d.f. method: containment
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 3 estimates
## significance level used: alpha = 0.05
grid <- grid %>%
group_by(Per) %>%
mutate(cld = numbers_to_letters(.group)) %>%
ungroup()
gg_means(grid,
mapping = list(x = "Amb"),
facets = ~Per,
labs = list(x = legends$Amb,
y = "ph",
subtitle = legends$Per))
#