#------------------------------------------------------------------------------------------
# Experimento com efeito de locais, locais/bloco e variedade
# dados artificiais (usando muitos níveis para estimativas ficarem próximas dos valores
# usados na simulação, facilita depuração)
nl <- 20; nb <- 5; nc <- 12; nr <- 3; nu <- nc+nr
# efeito de local ~N(0, 2), 20 locais
l <- rnorm(nl, 0, 2)
# efeito de local/bloco ~N(0, 1), 5 blocos por local
lb <- rnorm(nl*nb, 0, 1)
# efeito de local/bloco/unidade ~N(0, 0.5), 8 unidades por bloco
lbu <- rnorm(nl*nb*nu, 0, 0.5)
# efeito de cultivar ~N(0, 1.5), 5 cultivares
c <- rnorm(nc, 0, 1.5)
da1 <- expand.grid(ano=gl(2,1), local=gl(nl,1), bloco=gl(nb,1), cultivar=gl(nc,1), r=1)
da2 <- expand.grid(ano=gl(2,1), local=gl(nl,1), bloco=gl(nb,1), cultivar=gl(nr,1), r=2)
da <- rbind(da1, da2)
Z <- with(da, cbind(model.matrix(~-1+local),
model.matrix(~-1+local:bloco),
model.matrix(~-1+cultivar)))
dim(Z)
ranef <- c(l, lb, c)
length(ranef)
X <- model.matrix(~ano, da)
y <- X%*%c(1,0)+Z%*%ranef+lbu
require(lme4)
# modelo declarado é o mesmo usado para simular
m0 <- lmer(y~ano+(1|local)+(1|local:bloco)+(1|cultivar), data=da)
summary(m0)
# local fixo, bloco dentro de local e cultivar aleatório
m1 <- lmer(y~ano+local+(1|local:bloco)+(1|cultivar), data=da)
summary(m1)
# cultivar fixo, bloco dentro de local aleatório
m2 <- lmer(y~ano+cultivar+(1|local/bloco), data=da) # local/bloco = local+local:bloco
summary(m2) # cultivares mais repetidas, 1:3, tem menor erro padrão
# efeito de local/bloco com variâncias diferentes nos anos (omiti o outros efeitos)
m3 <- lmer(y~(ano|local/local), data=da)
summary(m3) # cultivares mais repetidas, 1:3, tem menor erro padrão
#------------------------------------------------------------------------------------------
À disposição.
Walmes.