[R-br] Ajuda com análise conjunta de dois experimentos com parcelas subdividas

Walmes Zeviani walmeszeviani em gmail.com
Sex Set 20 17:40:17 -03 2019


Lucas,

Que bom que forneceu os dados e croqui.
O seu croqui indica que você está usando blocos incompletos balanceados,
pelo menos se considerar que o bloco é o retângulo 4 x 4 parcelas. É isso
mesmo? Interessante.
No entanto, a tabela de dados que você mandou parece estar considerando
como bloco a linha que contém 24 parcelas.
No meu modo de ver, o bloco com essas dimensões (tão comprido), não deve
apresentar a homogeneidade que se espera.
É bem provável que a parcela 1C tenha mais semelhança em condições com as
parcelas 4B e 8D, por exemplo, do que com as parcelas 33C e 41D.
Talvez você possa analisar das duas formas.

De qualquer forma, o modelo para o seu experimento fica conforme código a
seguir.

> library(lattice)
>
> url <- "Dados_Conj_2ExpSub.csv"
> tb <- read.csv2(url)
> str(tb)
'data.frame': 96 obs. of  6 variables:
 $ FID       : Factor w/ 96 levels "12A","12C","13A",..: 9 43 53 87 95 1 3
5 7 11 ...
 $ Manejo    : Factor w/ 2 levels "PC","PD": 2 2 2 2 2 2 2 2 2 2 ...
 $ Rotacao   : Factor w/ 6 levels "A","CJ","CO",..: 2 3 5 4 3 6 2 5 1 5 ...
 $ Nitrogenio: Factor w/ 2 levels "Com","Sem": 2 2 2 2 2 2 2 2 2 2 ...
 $ Bloco     : int  1 2 3 4 1 2 3 4 1 2 ...
 $ N_kg_ha   : int  209 234 209 158 101 96 46 118 130 162 ...
>
> tb <- transform(tb,
+                 Bloco = factor(Bloco))
>
> xtabs(~Manejo + Rotacao, data = tb)
      Rotacao
Manejo A CJ CO CS P S
    PC 8  8  8  8 8 8
    PD 8  8  8  8 8 8
> ftable(xtabs(~Manejo + Bloco + Rotacao, data = tb))
             Rotacao A CJ CO CS P S
Manejo Bloco
PC     1             2  2  2  2 2 2
       2             2  2  2  2 2 2
       3             2  2  2  2 2 2
       4             2  2  2  2 2 2
PD     1             2  2  2  2 2 2
       2             2  2  2  2 2 2
       3             2  2  2  2 2 2
       4             2  2  2  2 2 2
>
> xyplot(N_kg_ha ~ Rotacao | Manejo,
+        groups = Nitrogenio,
+        type = c("p", "a"),
+        auto.key = TRUE,
+        data = tb)
>
> # Modelo para DBC em diferentes locais:
> #  ~ Local + Error(Local/Bloco) + Trat + Local:Trat.
> # Modelo de parcela subdividida em DBC:
> #  ~ Bloco + Trat + Error(Bloco:Trat) + Subtrat + Trat:Subtrat
> #
> # Juntanto os dois termos de erro:
> #  ~ Error(Local/Bloco) + Error(Bloco:Trat) = Error(Local/Bloco:Trat)
> #
> # Juntanto os termos sistemáticos.
> #  ~ Local + Trat + Local:Trat + Subtrat + Trat:Subtrat +
> #    Error(Local/Bloco:Trat)
>
> m0 <- aov(N_kg_ha ~
+               Manejo +
+               Manejo/Bloco +
+               Rotacao +
+               Manejo:Rotacao +
+               Nitrogenio +
+               Rotacao:Nitrogenio +
+               Error(Manejo/Bloco:Rotacao),
+           data = tb)
Warning message:
In aov(N_kg_ha ~ Manejo + Manejo/Bloco + Rotacao + Manejo:Rotacao +  :
  Error() model is singular
>
> summary(m0)

Error: Manejo
       Df Sum Sq Mean Sq
Manejo  1  504.2   504.2

Error: Manejo:Bloco:Rotacao
               Df Sum Sq Mean Sq F value Pr(>F)
Rotacao         5  16367    3273   1.521  0.213
Manejo:Bloco    6  16966    2828   1.314  0.281
Manejo:Rotacao  5   6213    1243   0.577  0.717
Residuals      30  64567    2152

Error: Within
                   Df Sum Sq Mean Sq F value Pr(>F)
Nitrogenio          1  13728   13728   6.561 0.0141 *
Rotacao:Nitrogenio  5   5636    1127   0.539 0.7457
Residuals          42  87874    2092
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
>
> # NOTE: não haverá uma estatística F apropriada para testar o efeito de
> # Manejo já que não existe repetição genuína para os níveis desse fator,
> # assim não existe um erro de extrato para ser o denominador da
> # estatística F.
>
> # Trocando Manejo/Bloco por Manejo:Bloco no termo de Error().
> m0 <- aov(N_kg_ha ~
+               Manejo +
+               Manejo/Bloco +
+               Rotacao +
+               Manejo:Rotacao +
+               Nitrogenio +
+               Rotacao:Nitrogenio +
+               Error(Manejo:Bloco:Rotacao),
+           data = tb)
Warning message:
In aov(N_kg_ha ~ Manejo + Manejo/Bloco + Rotacao + Manejo:Rotacao +  :
  Error() model is singular
>
> summary(m0)

Error: Manejo:Bloco:Rotacao
               Df Sum Sq Mean Sq F value Pr(>F)
Manejo          1    504     504   0.234  0.632
Rotacao         5  16367    3273   1.521  0.213
Manejo:Bloco    6  16966    2828   1.314  0.281
Manejo:Rotacao  5   6213    1243   0.577  0.717
Residuals      30  64567    2152

Error: Within
                   Df Sum Sq Mean Sq F value Pr(>F)
Nitrogenio          1  13728   13728   6.561 0.0141 *
Rotacao:Nitrogenio  5   5636    1127   0.539 0.7457
Residuals          42  87874    2092
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
>
> # NOTE: com uma mudança sutil na fórmula, muda-se para uma forma não
> # condizente com a realidade, o delineamento que passa a indicar que as
> # combinações Manejo x Rotação foram casualizados às parcelas dos blocos
> # (fatorial completo na parcela) e dessa forma tem-se uma estatística F
> # para Manejo, mas que não é condizente com a forma como o experimento
> # foi de fato feito. Então está errada essa especificação.
>
> # Declarando o primeiro modelo com a `lme4`.
> library(lme4)
>
> mm0 <- lmer(N_kg_ha ~
+                 Manejo +
+                 Manejo/Bloco +
+                 Rotacao +
+                 Manejo:Rotacao +
+                 Nitrogenio +
+                 Rotacao:Nitrogenio +
+                 (1 | Manejo/Bloco:Rotacao),
+           data = tb)
Warning messages:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
  unable to evaluate scaled gradient
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
   Hessian is numerically singular: parameters are not uniquely determined
>
> anova(mm0)
Analysis of Variance Table
                   Df  Sum Sq Mean Sq F value
Manejo              1   391.0   391.0  0.1869
Rotacao             5 15911.7  3182.3  1.5210
Nitrogenio          1 13728.2 13728.2  6.5613
Manejo:Bloco        6 16494.0  2749.0  1.3139
Manejo:Rotacao      5  6040.2  1208.0  0.5774
Rotacao:Nitrogenio  5  5636.1  1127.2  0.5387
> VarCorr(mm0)
 Groups               Name        Std.Dev.
 Bloco:Rotacao:Manejo (Intercept)  5.4722
 Manejo               (Intercept)  3.3708
 Residual                         45.7415

À disposição.
Walmes.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20190920/e5f9a950/attachment.html>


Mais detalhes sobre a lista de discussão R-br