setwd("~/Dropbox/Fernando 2018/archives/data")
library("lme4", lib.loc="/Library/Frameworks/R.framework/Versions/3.5/Resources/library")
## Loading required package: Matrix
enemy<- read.table("invas_fam_out_2.csv", sep = ",", header = T)
attach(enemy)
damage<-as.factor(damage)
fam<-as.factor(fam)
##Modelo sin interacciónes
fit1<-lmer(rep.effort~damage*origen+(1|pop))
summary(fit1) 
## Linear mixed model fit by REML ['lmerMod']
## Formula: rep.effort ~ damage * origen + (1 | pop)
## 
## REML criterion at convergence: -768.1
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.72622 -0.65000  0.06933  0.71011  3.03876 
## 
## Random effects:
##  Groups   Name        Variance  Std.Dev.
##  pop      (Intercept) 6.459e-05 0.008037
##  Residual             6.376e-03 0.079850
## Number of obs: 359, groups:  pop, 4
## 
## Fixed effects:
##                     Estimate Std. Error t value
## (Intercept)        0.3280717  0.0114440  28.668
## damage1            0.0009101  0.0144898   0.063
## origenMEX         -0.0304819  0.0147932  -2.061
## damage1:origenMEX -0.0046190  0.0178231  -0.259
## 
## Correlation of Fixed Effects:
##             (Intr) damag1 orgMEX
## damage1     -0.592              
## origenMEX   -0.774  0.458       
## dmg1:rgnMEX  0.481 -0.813 -0.583
##Probando efectos fijos (damage) con la correción Kenward-Roger para datos desbalanceados
library(pbkrtest)
modtodos<-lmer(rep.effort~damage+origen+(1|pop)+damage:origen, REML = F)
modsindamage<-lmer(rep.effort~origen+(1|pop), REML = F)
p.damage<-KRmodcomp(modtodos,modsindamage)
p.damage
## F-test with Kenward-Roger approximation; computing time: 0.13 sec.
## large : rep.effort ~ damage + origen + (1 | pop) + damage:origen
## small : rep.effort ~ origen + (1 | pop)
##           stat      ndf      ddf F.scaling p.value
## Ftest   0.0658   2.0000 353.0791         1  0.9363
modsinorigen<-lmer(rep.effort~damage+(1|pop), REML = F)
p.origen<-KRmodcomp(modtodos,modsinorigen)
p.origen
## F-test with Kenward-Roger approximation; computing time: 0.08 sec.
## large : rep.effort ~ damage + origen + (1 | pop) + damage:origen
## small : rep.effort ~ damage + (1 | pop)
##         stat    ndf    ddf F.scaling p.value
## Ftest 3.2739 2.0000 5.0470   0.88505  0.1226
modsininter<-lmer(rep.effort~damage+origen+(1|pop), REML=F)
p.inter<-KRmodcomp(modtodos,modsininter)
p.inter
## F-test with Kenward-Roger approximation; computing time: 0.08 sec.
## large : rep.effort ~ damage + origen + (1 | pop) + damage:origen
## small : rep.effort ~ damage + origen + (1 | pop)
##           stat      ndf      ddf F.scaling p.value
## Ftest   0.0672   1.0000 353.0782         1  0.7957
##Probando efectos aleatorios
library(lmerTest)
## 
## Attaching package: 'lmerTest'
## The following object is masked from 'package:lme4':
## 
##     lmer
## The following object is masked from 'package:stats':
## 
##     step
ranova(fit1)
## ANOVA-like table for random-effects: Single term deletions
## 
## Model:
## rep.effort ~ damage + origen + (1 | pop) + damage:origen
##           npar logLik     AIC     LRT Df Pr(>Chisq)
## <none>       6 384.07 -756.13                      
## (1 | pop)    5 383.74 -757.49 0.64389  1     0.4223
detach("package:lmerTest", unload=TRUE)
#Finalmente el diagnostico de residuales del modelo...
plot(residuals(fit1)~predict(fit1,type="link"), xlab=expression(hat(eta)), ylab="Deviance residuals")

#...y los intervalos de confianza para las familias y poblaciones
library(lattice)
ranef(fit1)
## $pop
##              (Intercept)
## morelos      0.004866462
## teotihuacan -0.004866462
## valdeflores  0.002449408
## zubia       -0.002449408
dput(cl<-ranef(fit1,condVar=T))
## structure(list(pop = structure(list(`(Intercept)` = c(0.00486646240965105, 
## -0.00486646240965123, 0.00244940762716986, -0.00244940762717005
## )), class = "data.frame", row.names = c("morelos", "teotihuacan", 
## "valdeflores", "zubia"), postVar = structure(c(3.08444394470828e-05, 
## 2.79999463972336e-05, 3.75689214128835e-05, 4.25876524808135e-05
## ), .Dim = c(1L, 1L, 4L)))), class = "ranef.mer")
dotplot(cl)
## $pop