Modelos de Regressão para Dados de Contagem com o R

github.com/leg-ufpr/MRDCr

Análise exploratória

library(MRDCr)
# help(soja)
ls("package:MRDCr")
##  [1] "apc"                  "cambras"             
##  [3] "capdesfo"             "capmosca"            
##  [5] "conftemp"             "confterm"            
##  [7] "dgcnt"                "dpgnz"               
##  [9] "gcnt"                 "led"                 
## [11] "llgcnt"               "llpgnz"              
## [13] "nematoide"            "ninfas"              
## [15] "panel.beeswarm"       "panel.cbH"           
## [17] "panel.groups.segplot" "peixe"               
## [19] "pgnz"                 "prepanel.cbH"        
## [21] "soja"
library(lattice)

data(soja)
str(soja)
## 'data.frame':    75 obs. of  5 variables:
##  $ K   : int  0 30 60 120 180 0 30 60 120 180 ...
##  $ umid: Factor w/ 3 levels "37,5","50","62,5": 1 1 1 1 1 2 2 2 2 2 ...
##  $ bloc: Factor w/ 5 levels "I","II","III",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ ngra: int  136 159 156 171 190 140 193 200 208 237 ...
##  $ nvag: int  56 62 66 68 82 63 86 94 86 97 ...
xtabs(~umid + K, data = soja[-75, ])
##       K
## umid   0 30 60 120 180
##   37,5 5  5  5   5   5
##   50   5  5  5   5   5
##   62,5 5  5  5   5   4
xyplot(nvag + ngra ~ K, groups = umid, outer = TRUE,
       data = soja[-74, ],
       type = c("p", "a"), scales = "free",
       ylab = NULL,
       xlab = expression("Nível de potássio aplicado"~(mg~dm^{-3})),
       auto.key = list(title = "Umidade do solo (%)",
                       cex.title = 1,
                       columns = 3),
       strip = strip.custom(
           factor.levels = c("Número de vagens",
                             "Número de grãos")))

soja <- soja[-74, ]

GLM Poisson para número de vagens viáveis por vaso

# Considerar K categórico.
soja <- transform(soja, K = factor(K))

m0 <- glm(nvag ~ bloc + umid * K, data = soja, family = poisson)

par(mfrow = c(2, 2))
plot(m0); layout(1)