[R-br] Fwd: Enc: model.matrix()

ASANTOS alexandresantosbr em yahoo.com.br
Sábado Março 21 18:21:14 BRT 2015


Caros Listeiros,

             Gostaria de criar uma matriz de contraste com vários níveis 
dentro de um fator, conforme o CRM abaixo, quando utilizo 3 níveis, 
funciona corretamente a função contrasts(), porém quando utilizo 4 ou 
mais níveis não funciona, alguém poderia me sugerir uma solução,

Obrigado,


      #Dados artificiais
colony<-as.factor(sort(rep(c("colony1", "colony2","colony3", "colony4"), 
100)))
y1 <- c(rnorm(100,1,0.1),rnorm(100,5,0.1),rnorm(100,3.5,0.1))
y2 <- c(rnorm(100,10,0.3),rnorm(100,11,0.6),rnorm(100,5,0.6))
y3 <- c(rnorm(100,10,2.3),rnorm(100,11,2.6),rnorm(100,11,2.5))
y4 <- c(rnorm(100,5,0.5),rnorm(100,7,0.5),rnorm(100,22,0.5))
y5 <- c(rnorm(100,11,0.1),rnorm(100,11,0.1),rnorm(100,11,0.1))

#Cria o data frame
avaliacao <- as.factor(colony)
espectro <- cbind(y1,y2,y3,y4,y5)
dados <- data.frame(avaliacao = I(as.matrix(avaliacao)), bands = 
I(as.matrix(espectro)))

## Cria uma matriz de contraste
##Niveis
levels(avaliacao)
Xcontr <- contrMat(n=1:nlevels(avaliacao), type="Tukey")
contrasts(avaliacao) <- Xcontr




On 25/02/2015 13:09, walmes . wrote:
> Considere o CMR abaixo.
>
> da <- data.frame(col=gl(3,100, labels=c("A","B","C")))
> da$y <- with(da, rnorm(length(col), mean=as.numeric(col), sd=1))
>
> ## Modelo com a restrição de não haver nível de referência, aqui estima
> ## a média de cada nível.
> m0 <- lm(y~0+col, data=da)
> summary(m0)
>
> require(multcomp)
>
> ## Matriz de contrastes (lembrar de ter o 0 na formula!).
> Xcontr <- contrMat(n=1:nlevels(da$col), type="Tukey")
> str(Xcontr)
>
> ## Estimativa e erro padrão.
> Xcontr%*%coef(m0)
> sqrt(diag(Xcontr%*%vcov(m0)%*%t(Xcontr)))
>
> ## Via glht().
> summary(glht(m0, linfct=mcp(col="Tukey")))
>
> À disposição.
> Walmes.
>>
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

-- 
======================================================================
Alexandre dos Santos
Proteção Florestal
IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
Campus Cáceres
Caixa Postal 244
Avenida dos Ramires, s/n
Bairro: Distrito Industrial
Cáceres - MT                      CEP: 78.200-000
Fone: (+55) 65 8132-8112 (TIM)   (+55) 65 9686-6970 (VIVO)
e-mails:alexandresantosbr em yahoo.com.br
         alexandre.santos em cas.ifmt.edu.br
Lattes: http://lattes.cnpq.br/1360403201088680
======================================================================



---
Este email foi escaneado pelo Avast antivírus.
http://www.avast.com
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20150321/9d315449/attachment.html>


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