[R-br] Fwd: Enc: model.matrix() (continuação)
ASANTOS
alexandresantosbr em yahoo.com.br
Quarta Abril 22 23:43:41 BRT 2015
Walmes,
Tenho mais uma questão sobre o problema ainda, pois no caso de eu
ter 30 níveis com 10 repetições e emprego a estrutura diagonal proposta
por você, eu sempre estou comparando 1com 2, 2 com 3 ate a enésima
comparação, teria como eu fazer algo para comparar o nível 1 com todos
os outros, o nível 2 com todos os outros assim sucessivamente, pois no
meu exemplo proposto tenho:
## Criando 30 níveis com 10 repetições
trat<-gl(30,10)
## Se \beta = C\mu então \mu = C^{-1}\beta.
## Número de níveis do fator.
k <- 75
## Row 1.
r1 <- rep(1/k, k)
## Matriz diagonal.
D <- diag(k-1)
## Positive ones.
po <- cbind(D, 0)
## Negative ones.
no <- cbind(0, -D)
## Matriz de contrastes "diferenças em sequência".
C <- rbind(r1, po+no)
rownames(C) <- c("mu", paste0(1:(k-1), "-", 2:k))
C
contrasts(trat)<-t(C[-1,]) ## Retira o col do intercepto, deixa k-1.
trat.ortho <- model.matrix(~trat)[, -1]
head(trat.ortho)
Que não equivale a uma comparação completa entre todos os níveis,
poderia me ajudar a conseguir a fazer isso?
Obrigado,
--
======================================================================
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
======================================================================
On 30/03/2015 15:59, walmes . wrote:
> Alexandre,
>
> Daria para fazer com um for(), mas aí percebi a estrutura diagonal de
> 1's positivo e 1's negativos e achei mais fácil somar matrizes
> diagonais. O CMR esclarece melhor o ponto.
>
> ## Número de níveis do fator.
> k <- 5
>
> ## Row 1.
> r1 <- rep(1/k, k)
>
> ## Matriz diagonal.
> D <- diag(k-1)
>
> ## Positive ones.
> po <- cbind(D, 0)
>
> ## Negative ones.
> no <- cbind(0, -D)
>
> ## Matriz de contrastes "diferenças em sequência".
> C <- rbind(r1, po+no)
> rownames(C) <- c("mu", paste0(1:(k-1), "-", 2:k))
> C
>
> À 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.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20150422/9c3534fa/attachment.html>
Mais detalhes sobre a lista de discussão R-br