[R-br] GLM
Mauro Sznelwar
sznelwar em uol.com.br
Domingo Dezembro 15 19:02:24 BRST 2013
A partir daí não consegui rodar, ele não reconhece as funções popMeans e popMatrix, e instalei a bibliotéca doBay
## efeito marginal de A (ou seja, na média dos níveis de B)
popMeans(m0, effect="A")
## efeito marginal de B (ou seja, na média dos níveis de A)
popMeans(m0, effect="B")
## efeito de A condicional à B=1
popMeans(m0, effect="A", at=list(B="1"))
## aqui é para ver as matrizes envolvidas
popMatrix(m0, effect="A")
popMatrix(m0, effect="A", at=list(B="1"))
Você pode obter as estimativas de cada casela de diversas formas: 1) removendo intercepto da fórmula, 2) mudando o tipo de constraste, 3) calculando as funções lineares por fora com matrizes apropriadas e 4) fazendo o item 3 com a popMeans() e/ou popMatrix(), que considero a opção mais simples. Veja o CMR.
##-----------------------------------------------------------------------------
## dados artificiais
da <- expand.grid(A=gl(4,4), B=gl(3,1))
da$y <- rpois(nrow(da), lambda=10)
## constrates usados por padrão
options()$contrasts
## removendo o intercepto, primeiro fator com estimativas por nível
m0 <- glm(y~-1+A+B, data=da, family=poisson)
summary(m0)
m0 <- glm(y~-1+B+A, data=da, family=poisson)
summary(m0)
## mudando a opção de contraste localmente
m0 <- glm(y~A+B, data=da, family=poisson,
contrasts=list(A=contr.helmert, B=contr.SAS))
summary(m0)
M <- unique(model.matrix(m0))
M
## comportamento padrão
m0 <- glm(y~A+B, data=da, family=poisson)
summary(m0)
M <- unique(model.matrix(m0))
M
##-----------------------------------------------------------------------------
## estimativas para cada combinação A*B
M%*%coef(m0)
## para soma direta de matrizes
source("http://fisher.osu.edu/~schroeder_9/AMIS900/blockdiag.R")
mA <- contrasts(da$A)
mB <- contrasts(da$B)
M <- list(mA, mB)
M <- cbind(1, blockdiag(M))
M <- unique(M)
M
M%*%coef(m0)
coef(m0)
require(doBy)
## efeito marginal de A (ou seja, na média dos níveis de B)
popMeans(m0, effect="A")
## efeito marginal de B (ou seja, na média dos níveis de A)
popMeans(m0, effect="B")
## efeito de A condicional à B=1
popMeans(m0, effect="A", at=list(B="1"))
## aqui é para ver as matrizes envolvidas
popMatrix(m0, effect="A")
popMatrix(m0, effect="A", at=list(B="1"))
##-----------------------------------------------------------------------------
À 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/20131215/6daf6d1c/attachment.html>
Mais detalhes sobre a lista de discussão R-br