[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