https://www.scielo.br/scielo.php?script=sci_arttext&pid=S0103-90162017000100060&lng=en&tlng=en
tabcon <- array(data=c(180,10,108,90,50,2,12,20),
dim = c(2,2,2),
dimnames = list("P_scleroteichum"=c("Si","No"),
"N_hyalinum"=c("Si","No"),
"Root_rot"=c("Si","No")))
tabcon
## , , Root_rot = Si
##
## N_hyalinum
## P_scleroteichum Si No
## Si 180 108
## No 10 90
##
## , , Root_rot = No
##
## N_hyalinum
## P_scleroteichum Si No
## Si 50 12
## No 2 20
ftable(tabcon,row.vars = c("P_scleroteichum","N_hyalinum"))
## Root_rot Si No
## P_scleroteichum N_hyalinum
## Si Si 180 50
## No 108 12
## No Si 10 2
## No 90 20
addmargins(tabcon)
## , , Root_rot = Si
##
## N_hyalinum
## P_scleroteichum Si No Sum
## Si 180 108 288
## No 10 90 100
## Sum 190 198 388
##
## , , Root_rot = No
##
## N_hyalinum
## P_scleroteichum Si No Sum
## Si 50 12 62
## No 2 20 22
## Sum 52 32 84
##
## , , Root_rot = Sum
##
## N_hyalinum
## P_scleroteichum Si No Sum
## Si 230 120 350
## No 12 110 122
## Sum 242 230 472
options(digits = 3)
prop.table(tabcon,margin = c(1,3))
## , , Root_rot = Si
##
## N_hyalinum
## P_scleroteichum Si No
## Si 0.625 0.375
## No 0.100 0.900
##
## , , Root_rot = No
##
## N_hyalinum
## P_scleroteichum Si No
## Si 0.8065 0.194
## No 0.0909 0.909
tabcon_df <- as.data.frame(as.table(tabcon))
tabcon_df[,-4] <- lapply(tabcon_df[,-4],relevel,ref ="No")
tabcon_df
## P_scleroteichum N_hyalinum Root_rot Freq
## 1 Si Si Si 180
## 2 No Si Si 10
## 3 Si No Si 108
## 4 No No Si 90
## 5 Si Si No 50
## 6 No Si No 2
## 7 Si No No 12
## 8 No No No 20
set.seed(1234567)
m1000 <- sample(c("numero","simbolo"),40,replace = T)
m200 <- sample(c("numero","simbolo"),40,replace = T)
table(m1000,m200)
## m200
## m1000 numero simbolo
## numero 10 10
## simbolo 10 10
\[\mu_{ij}=n \pi_{i} \pi_j\]
\[log(\mu_{ij})=log(n \pi_{i} \pi_j)=log~n+log~\pi_i+log~\pi_j\]
mod0 <- glm(Freq ~ P_scleroteichum + N_hyalinum + Root_rot,
data = tabcon_df,family = poisson)
summary(mod0)
##
## Call:
## glm(formula = Freq ~ P_scleroteichum + N_hyalinum + Root_rot,
## family = poisson, data = tabcon_df)
##
## Deviance Residuals:
## 1 2 3 4 5 6 7 8
## 2.58 -7.08 -2.83 5.26 2.95 -3.38 -3.80 2.58
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 2.3590 0.1422 16.59 <2e-16 ***
## P_scleroteichumSi 1.0539 0.1051 10.02 <2e-16 ***
## N_hyalinumSi 0.0509 0.0921 0.55 0.58
## Root_rotSi 1.5302 0.1203 12.72 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for poisson family taken to be 1)
##
## Null deviance: 461.07 on 7 degrees of freedom
## Residual deviance: 133.63 on 4 degrees of freedom
## AIC: 183.2
##
## Number of Fisher Scoring iterations: 5
mod0 <- glm(Freq ~ P_scleroteichum + N_hyalinum + Root_rot,
data = tabcon_df,family = quasipoisson)
summary(mod0)
##
## Call:
## glm(formula = Freq ~ P_scleroteichum + N_hyalinum + Root_rot,
## family = quasipoisson, data = tabcon_df)
##
## Deviance Residuals:
## 1 2 3 4 5 6 7 8
## 2.58 -7.08 -2.83 5.26 2.95 -3.38 -3.80 2.58
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.3590 0.7778 3.03 0.039 *
## P_scleroteichumSi 1.0539 0.5752 1.83 0.141
## N_hyalinumSi 0.0509 0.5038 0.10 0.924
## Root_rotSi 1.5302 0.6584 2.32 0.081 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for quasipoisson family taken to be 29.9)
##
## Null deviance: 461.07 on 7 degrees of freedom
## Residual deviance: 133.63 on 4 degrees of freedom
## AIC: NA
##
## Number of Fisher Scoring iterations: 5
pchisq(deviance(mod0),df= df.residual(mod0),lower.tail = F)
## [1] 6.53e-28
cbind(mod0$data,fitted(mod0))
## P_scleroteichum N_hyalinum Root_rot Freq fitted(mod0)
## 1 Si Si Si 180 147.5
## 2 No Si Si 10 51.4
## 3 Si No Si 108 140.2
## 4 No No Si 90 48.9
## 5 Si Si No 50 31.9
## 6 No Si No 2 11.1
## 7 Si No No 12 30.4
## 8 No No No 20 10.6
exp(coef(mod0)[3])
## N_hyalinumSi
## 1.05
prueba_odd <- margin.table(tabcon,margin=2)/sum(margin.table(tabcon,margin = 2))
prueba_odd[1]/prueba_odd[2]
## Si
## 1.05
mod1 <- glm(Freq ~(P_scleroteichum + N_hyalinum + Root_rot)^2,
data = tabcon_df,family = poisson)
summary(mod1)
##
## Call:
## glm(formula = Freq ~ (P_scleroteichum + N_hyalinum + Root_rot)^2,
## family = poisson, data = tabcon_df)
##
## Deviance Residuals:
## 1 2 3 4 5 6 7 8
## -0.116 0.522 0.151 -0.164 0.223 -0.902 -0.432 0.358
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 2.915 0.222 13.15 < 2e-16 ***
## P_scleroteichumSi -0.307 0.315 -0.97 0.330
## N_hyalinumSi -1.645 0.373 -4.41 1.1e-05 ***
## Root_rotSi 1.602 0.240 6.67 2.6e-11 ***
## P_scleroteichumSi:N_hyalinumSi 2.918 0.329 8.88 < 2e-16 ***
## P_scleroteichumSi:Root_rotSi 0.458 0.332 1.38 0.167
## N_hyalinumSi:Root_rotSi -0.739 0.297 -2.49 0.013 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for poisson family taken to be 1)
##
## Null deviance: 461.0688 on 7 degrees of freedom
## Residual deviance: 1.5132 on 1 degrees of freedom
## AIC: 57.11
##
## Number of Fisher Scoring iterations: 4
cbind(mod1$data,fitted(mod1))
## P_scleroteichum N_hyalinum Root_rot Freq fitted(mod1)
## 1 Si Si Si 180 181.56
## 2 No Si Si 10 8.44
## 3 Si No Si 108 106.44
## 4 No No Si 90 91.56
## 5 Si Si No 50 48.44
## 6 No Si No 2 3.56
## 7 Si No No 12 13.56
## 8 No No No 20 18.44
exp(coef(mod1)["N_hyalinumSi:Root_rotSi"])
## N_hyalinumSi:Root_rotSi
## 0.477
mod1$coefficients
## (Intercept) P_scleroteichumSi
## 2.915 -0.307
## N_hyalinumSi Root_rotSi
## -1.645 1.602
## P_scleroteichumSi:N_hyalinumSi P_scleroteichumSi:Root_rotSi
## 2.918 0.458
## N_hyalinumSi:Root_rotSi
## -0.739
#exp(confint(mod1,parm = c("P_scleroteichumSi:N_hyalinumSi","P_scleroteichumSi:Root_rotSi","N_hyalinumSi:Root_rotSi ")))
mod2 <- update(mod1,~. -P_scleroteichum:Root_rot)
summary(mod2)
##
## Call:
## glm(formula = Freq ~ P_scleroteichum + N_hyalinum + Root_rot +
## P_scleroteichum:N_hyalinum + N_hyalinum:Root_rot, family = poisson,
## data = tabcon_df)
##
## Deviance Residuals:
## 1 2 3 4 5 6 7 8
## -0.0431 0.1866 0.4586 -0.4866 0.0821 -0.3752 -1.2106 1.1456
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 2.728 0.190 14.38 < 2e-16 ***
## P_scleroteichumSi 0.087 0.132 0.66 0.510
## N_hyalinumSi -1.781 0.367 -4.86 1.2e-06 ***
## Root_rotSi 1.823 0.190 9.57 < 2e-16 ***
## P_scleroteichumSi:N_hyalinumSi 2.866 0.324 8.84 < 2e-16 ***
## N_hyalinumSi:Root_rotSi -0.527 0.247 -2.14 0.033 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for poisson family taken to be 1)
##
## Null deviance: 461.0688 on 7 degrees of freedom
## Residual deviance: 3.4093 on 2 degrees of freedom
## AIC: 57
##
## Number of Fisher Scoring iterations: 4
mod4 <- glm(Freq ~ P_scleroteichum * N_hyalinum * Root_rot,
data = tabcon_df,family = poisson)
summary(mod4)
##
## Call:
## glm(formula = Freq ~ P_scleroteichum * N_hyalinum * Root_rot,
## family = poisson, data = tabcon_df)
##
## Deviance Residuals:
## [1] 0 0 0 0 0 0 0 0
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 2.996 0.224 13.40 < 2e-16
## P_scleroteichumSi -0.511 0.365 -1.40 0.1618
## N_hyalinumSi -2.303 0.742 -3.10 0.0019
## Root_rotSi 1.504 0.247 6.08 1.2e-09
## P_scleroteichumSi:N_hyalinumSi 3.730 0.808 4.61 3.9e-06
## P_scleroteichumSi:Root_rotSi 0.693 0.392 1.77 0.0771
## N_hyalinumSi:Root_rotSi 0.105 0.813 0.13 0.8969
## P_scleroteichumSi:N_hyalinumSi:Root_rotSi -1.022 0.883 -1.16 0.2471
##
## (Intercept) ***
## P_scleroteichumSi
## N_hyalinumSi **
## Root_rotSi ***
## P_scleroteichumSi:N_hyalinumSi ***
## P_scleroteichumSi:Root_rotSi .
## N_hyalinumSi:Root_rotSi
## P_scleroteichumSi:N_hyalinumSi:Root_rotSi
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for poisson family taken to be 1)
##
## Null deviance: 4.6107e+02 on 7 degrees of freedom
## Residual deviance: 1.2879e-14 on 0 degrees of freedom
## AIC: 57.6
##
## Number of Fisher Scoring iterations: 3
mosaicplot(tabcon,shade = T)