<div dir="ltr"><div class="gmail_default" style="font-family:trebuchet ms,sans-serif">No sentido de mostrar algumas alternativas, segue um CMR considerando modelos lineares de efeito misto e desbalanceamento.<br><br><span style="font-family:courier new,monospace">##-----------------------------------------------------------------------------<br>
<br>da <- expand.grid(bloc=gl(4,1),<br> A=gl(3,1), B=gl(4,1), C=gl(2,1))<br>da$y <- rnorm(nrow(da), 100, 1)<br><br>da <- transform(da, parc=interaction(bloc, A),<br> subp=interaction(bloc, A, B))<br>
str(da)<br><br>m0 <- aov(y~bloc+A*B*C+Error(bloc:A/B), data=da)<br>summary(m0)<br><br>m0 <- aov(y~bloc+A*B*C+Error(bloc:A+bloc:A:B), data=da)<br>summary(m0)<br><br>m0 <- aov(y~bloc+A*B*C+Error(parc/B), data=da)<br>
summary(m0)<br><br>m0 <- aov(y~bloc+A*B*C+Error(parc+subp), data=da)<br>summary(m0)<br><br>m0 <- aov(y~bloc+A*B*C+Error(parc/subp), data=da)<br>summary(m0)<br><br>## E como fazer com os dados desbalanceados?<br>db <- da[-c(1,8,33),]<br>
<br>## ops, o fator C aparece na parte de subparcela??<br>## Erro ao determinar as fontes de variação e os estratos<br>## aos quais pertencem.<br>m1 <- aov(y~bloc+A*B*C+Error(bloc:A+bloc:A:B), data=db)<br>summary(m1)<br>
<br>require(nlme)<br><br>## NOTA:<br>## A lme() só interpreta o operador de aninhamento '/', não permite '*'<br>## e ':'.<br><br>## Modelos mistos não assumem balanceamento para correta estimação.<br>
<br>## bloco aleatório<br>mm0 <- lme(y~A*B*C, random=~1|bloc/A/B, data=db)<br><br>## bloco fixo<br>mm0 <- lme(y~bloc+A*B*C, random=~1|parc/B, data=db)<br>VarCorr(mm0)<br>anova(mm0)<br>summary(mm0)<br><br>##-----------------------------------------------------------------------------<br>
</span><br>À disposição.<br>Walmes.<br><br></div></div>