<div><font face="trebuchet ms,sans-serif">Olympio,</font></div><div><font face="trebuchet ms,sans-serif"><br></font></div><div><font face="trebuchet ms,sans-serif">Não é possível fazer testes para níveis de Trat1 dentro de Trat2 com a formula assim ~Trat1/Trat2, isso por causa da codificação das matrizes envolvidas. Você tem que usar Trat2/Trat1, ou Tra3*Trat2 (ou inverso), ou ainda criar um novo fator combinando os níveis desses que pode ser conseguido com a interaction(). No seu caso, você deve ajustar o modelo com Trat2/Tempo/Trat1, o fator de níveis a serem comparados deve ser o último na fórmula do modelo. Se for usar a contrast::contrast() o modelo tem que ter estrutura cruzada e não aninhada. Veja,</font></div>
<div><font face="trebuchet ms,sans-serif"><br></font></div><div><font face="trebuchet ms,sans-serif"><div>Id: Unidade Amostral</div><div>#Estrutura dos dados:</div><div>set.seed(13032012)</div><div>d=expand.grid(Trat1=gl(3,18),Tempo=gl(2,1))</div>
<div>d$Trat2=gl(2,9,108)</div><div>d$Id=as.factor(rep(1:54,2))</div><div>d$Y=abs(rnorm(108,c(10,30,8),10))</div><div>str(d)</div><div><br></div><div>#Verificar estrutura para a unidade amostral i=3, por exemplo</div><div>
d[d$Id==3,]: Tratamento1 =1, Tratamento2=1 Tempo=1, 2.</div><div><br></div><div>#Ajuste que fiz usando lme</div><div><br></div><div>library(nlme)</div><div><br></div><div>f=lme(Y~(Trat1/Trat2)*Tempo, random=~1|Id,d)</div>
<div>summary(f)</div><div><br></div><div>m0 <- lme(Y~Trat2/Tempo/Trat1, random=~1|Id,d)</div><div>fixef(m0)</div><div>anova(m0)</div><div><br></div><div>require(aod)</div><div><br></div><div># 8 parâmetros = 8 g.l. da interação</div>
<div>grep("*.:Tempo*.:Trat1*.", names(fixef(m0)), value=TRUE)</div><div>idx <- grep("*.:Tempo*.:Trat1*.", names(fixef(m0)))</div><div><br></div><div># última linha da anova(m0)</div><div>wald.test(Sigma=vcov(m0), b=fixef(m0), Terms=idx, df=nrow(d)-length(fixef(m0)))</div>
<div><br></div><div># assim é possível fazer testes de desdobramento de interação usando a wald.test()</div><div># é só saber que índices passar para Terms= para ter as hipóteses adequadas</div><div><br></div><div>require(contrast)</div>
<div><br></div><div>levels(d$Trat2)</div><div>levels(d$Trat1)</div><div>levels(d$Tempo)</div><div><br></div><div>c0 <- contrast(m0,</div><div>               list(Trat2="1", Tempo="1", Trat1="1"),</div>
<div>               list(Trat2="1", Tempo="1", Trat1="2"))</div><div><br></div><div># modelo tem que estar na forma cruzada (*) e não aninhada (/)</div><div><br></div><div>m0 <- lme(Y~Trat2*Tempo*Trat1, random=~1|Id,d)</div>
<div><br></div><div>c0 <- contrast(m0,</div><div>               list(Trat2="1", Tempo="1", Trat1="1"),</div><div>               list(Trat2="1", Tempo="1", Trat1="2"))</div>
<div>c0</div><div>c0$X # vetor de contrastes</div><div><br></div><div>Depois é só você trocar os niveis na contrast() para demais comparações. Você pode reunir os vetores de contraste e fazer esses contrastes com a multcomp::glht() para ajustar o p-valor dos testes, visto que são muitas hipóteses não ortogonais. Consulte a documentação dessas funções. Aconselho você a sempre enviar perguntas para a R-br pois o sucesso de resposta é maior, sua dúvida pode ajudar os demais além de ficar no arquivo da lista para consulta futura.</div>
<div><br></div><div>À disposição.</div><div>Walmes.</div></font></div><font face="trebuchet ms,sans-serif"><br clear="all"></font><span style="font-family:trebuchet ms,sans-serif">==========================================================================</span><br style="font-family:trebuchet ms,sans-serif">
<span style="font-family:trebuchet ms,sans-serif">Walmes Marques Zeviani</span><br style="font-family:trebuchet ms,sans-serif"><span style="font-family:trebuchet ms,sans-serif">LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W)</span><br style="font-family:trebuchet ms,sans-serif">
<span style="font-family:trebuchet ms,sans-serif">Departamento de Estatística - Universidade Federal do Paraná</span><br style="font-family:trebuchet ms,sans-serif"><span style="font-family:trebuchet ms,sans-serif">fone: (+55) 41 3361 3573</span><br style="font-family:trebuchet ms,sans-serif">
<span style="font-family:trebuchet ms,sans-serif">VoIP: (3361 3600) 1053 1173</span><br style="font-family:trebuchet ms,sans-serif"><span style="font-family:trebuchet ms,sans-serif">e-mail: <a href="mailto:walmes@ufpr.br" target="_blank">walmes@ufpr.br</a></span><br style="font-family:trebuchet ms,sans-serif">
<span style="font-family:trebuchet ms,sans-serif">twitter: @walmeszeviani</span><br style="font-family:trebuchet ms,sans-serif"><span style="font-family:trebuchet ms,sans-serif">homepage: <a href="http://www.leg.ufpr.br/%7Ewalmes" target="_blank">http://www.leg.ufpr.br/~walmes</a></span><br style="font-family:trebuchet ms,sans-serif">
<span style="font-family:trebuchet ms,sans-serif">linux user number: 531218</span><br style="font-family:trebuchet ms,sans-serif"><span style="font-family:trebuchet ms,sans-serif">==========================================================================</span><br>

<br><br><div class="gmail_quote">2012/3/25 Olympio Neto <span dir="ltr"><<a href="mailto:olympiotneto@gmail.com">olympiotneto@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Walmes, muito obrigado por você estar sempre disponível a ajudar... Olha, eu deveria te pagar, porque já me ajudou milhares de vezes com suas intervenções.<br><br>Então, cara, eu tenho um problema. Vou colocar o que fiz aqui, usando aquele CMR que mandei.<br>

<br><pre style="margin:0em">Id: Unidade Amostral
#Estrutura dos dados:
set.seed(13032012)
d=expand.grid(Trat1=gl(3,18),Tempo=gl(2,1))
d$Trat2=gl(2,9,108)
d$Id=as.factor(rep(1:54,2))
d$Y=abs(rnorm(108,c(10,30,8),10))

#Verificar estrutura para a unidade amostral i=3, por exemplo
d[d$Id==3,]: Tratamento1 =1, Tratamento2=1 Tempo=1, 2.

#Ajuste que fiz usando lme

library(nlme)
 f=lme(Y~(Trat1/Trat2)*Tempo, random=~1|Id,d)<br><br></pre>Veja, e "f" é meu modelo final, o melhor e tal. Acontece que quero fazer comparações múltiplas considerando somente Trat1 e Tempo, desprezando Trat2 dentro de Trat1. Estou me matando há 3 dias tentando isso e não consigo. Quando coloco Trat2, ela entra nos contrastes e não quero isso.<br>

Queria fazer isso, mas nem sei como te mostrar, desculpe, mas vai literalmente.<br><br>Trat1:1 X Tempo:1 - Trat1:2 X Tempo:1<br>Trat1:1 X Tempo: 1- Trat1:3 X Tempo:1<br>Trat1:2 X Tempo:1 - Trat1:3 X Tempo:1<br><br>Eu vi um exemplo parecido em <a href="http://www.ats.ucla.edu/stat/R/faq/testing_contrasts.htm" target="_blank">http://www.ats.ucla.edu/stat/R/faq/testing_contrasts.htm</a>, mas lá cria-se um novo modelo univariado com o comando interaction nos fatores. Poderia até fazer isso, mas isso iria alterar muito meu modelo, que já é complicado. Você vislumbra alguma forma de se resolver isso? Não queria perder a caracterização do aninhamento de Trat2 dentro de Trat1. Já tentei contrast, multcomp e tudo mais, mas sempre solicitam os níveis de saliva ou se coloco, eles aumentam as comparações.<br>

<br>Desculpe te encher com esta dúvida idiota, mas os contrastes no R me arrebentam, e há anos. Já li um zilhão de livros do R, mas quando preciso ir às vias de fato, me mato.<br><br>Abs e muito obrigado.<span class="HOEnZb"><font color="#888888"><br>
<br>Olympio<br>
</font></span></blockquote></div><br>