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