[R-br] Usando o termo Error() com model.matrix para simular dados de Medidas Repetidas

Augusto Ribas ribas.aca em gmail.com
Segunda Março 4 09:31:01 BRT 2013


Ola, normalmente para tentar entender melhor algumas analises, eu
tento gerar exemplo e ver como ficam os resultados e gráficos.

Normalmente eu uso o seguinte método:

###################################################################
#gerando os tratamentos
example<-data.frame(time=factor(rep(c(0,1,2),each=60)),
                trat=rep(rep(c("controle","dose2","dose3"),each=20),each=60),
                id=factor(rep(1:60,3)))
str(example)

#Usando model.matrix para fazer a matriz que multiplica os parâmetros,
se quiser simular uma "two way"
matrix.1<-model.matrix(~time*trat,data=example)
head(matrix.1)

#Gerando valores dos parâmetros
param.1<-c(1:9)

#Gerando os dados de resposta, que é a multiplicação da matriz pelos
valores dos parâmetros
response.1<-rnorm(nrow(matrix.1),matrix.1%*%param.1,1)

#Assim a analise vai estimar os parâmetros usados, e eu posso ver
vários parâmetros diferentes e o que acontece.
summary(lm(response.1~example$time*example$trat))


#Mas eu gostaria de simular algo com medidas repetidas, tipo usando o
termo Error() que da para usar com a função AOV.
#Mas eu fiquei meio perdido como proceder, para fazer o mesmo esquema
acima mas com medidas repetidas, tendo o error term.
matrix.2<-model.matrix(~time*trat+Error(id),data=example)

#Olhando como se faz a mesma coisa com a função gls do pacote nlme,
suspeito que teria que fazer uma matriz de correlação, mas ai eu não
sei como faria aquela multiplicação la em cima.
#Alguém saberia como proceder?
#####################################################################################


Os comando para fazer a medidas repetidas com nlme que me refiro são
desse tutorial:
http://www.ats.ucla.edu/stat/r/seminars/Repeated_Measures/repeated_measures.htm
Olhando isso e a função aov eu vejo que tenho que separar o Error, mas
não estou sabendo como.

library(nlme)
longg <- groupedData(pulse ~ as.numeric(exertype) * as.numeric(time) |
id, data = exer)
fit.cs <- gls(pulse ~ exertype * time, data = longg,
  corr = corCompSymm(, form= ~ 1 | id) )
summary(fit.cs)

Agradeço a atenção

Abraços
Augusto Ribas

--
Grato
Augusto C. A. Ribas

Site Pessoal: http://recologia.wordpress.com/
Lattes: http://lattes.cnpq.br/7355685961127056


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