Estou realmente impressionado com o fato de o Poisson GLM aceitar números não inteiros! Veja:
Dados (conteúdo de data.txt
):
1 2001 0.25 1
1 2002 0.5 1
1 2003 1 1
2 2001 0.25 1
2 2002 0.5 1
2 2003 1 1
Script R:
t <- read.table("data.txt")
names(t) <- c('site', 'year', 'count', 'weight')
tm <- glm(count ~ 0 + as.factor(site) + as.factor(year), data = t,
family = "quasipoisson") # also works with family="poisson"
years <- 2001:2003
plot(years, exp(c(0, tail(coef(tm), length(years)-1))), type = "l")
O índice do ano resultante é o "esperado", ou seja, 1-2-4
em anos 2001-2003
.
Mas como é possível que o Poisson GLM pegue números não inteiros? A distribuição Poisson sempre foi somente número inteiro!
family="poisson"
, mas observe que seu exemplo não é um Poisson GLM, pois você está usando a quasipoisson
família, o que depende apenas da relação entre a média e a variância de qualquer maneira. Nesse caso, não deve haver surpresa em obter números não inteiros.