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(ln1.wt.stem~damage*origen+(1|pop))
summary(fit1) 
## Linear mixed model fit by REML ['lmerMod']
## Formula: ln1.wt.stem ~ damage * origen + (1 | pop)
## 
## REML criterion at convergence: -487.7
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.5852 -0.6343 -0.1038  0.5476  4.4650 
## 
## Random effects:
##  Groups   Name        Variance  Std.Dev.
##  pop      (Intercept) 0.0006196 0.02489 
##  Residual             0.0145874 0.12078 
## Number of obs: 370, groups:  pop, 4
## 
## Fixed effects:
##                   Estimate Std. Error t value
## (Intercept)        0.33291    0.02317  14.370
## damage1           -0.04442    0.02182  -2.036
## origenMEX          0.09904    0.03112   3.183
## damage1:origenMEX  0.00423    0.02669   0.158
## 
## Correlation of Fixed Effects:
##             (Intr) damag1 orgMEX
## damage1     -0.444              
## origenMEX   -0.744  0.330       
## dmg1:rgnMEX  0.363 -0.817 -0.417
##Probando efectos fijos (damage) con la correción Kenward-Roger para datos desbalanceados
library(pbkrtest)
modtodos<-lmer(ln1.wt.stem~damage+origen+(1|pop)+damage:origen, REML = F)
modsindamage<-lmer(ln1.wt.stem~origen+(1|pop), REML = F)
p.damage<-KRmodcomp(modtodos,modsindamage)
p.damage
## F-test with Kenward-Roger approximation; computing time: 0.13 sec.
## large : ln1.wt.stem ~ damage + origen + (1 | pop) + damage:origen
## small : ln1.wt.stem ~ origen + (1 | pop)
##           stat      ndf      ddf F.scaling  p.value   
## Ftest   5.4895   2.0000 364.0152         1 0.004479 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
modsinorigen<-lmer(ln1.wt.stem~damage+(1|pop), REML = F)
p.origen<-KRmodcomp(modtodos,modsinorigen)
p.origen
## F-test with Kenward-Roger approximation; computing time: 0.08 sec.
## large : ln1.wt.stem ~ damage + origen + (1 | pop) + damage:origen
## small : ln1.wt.stem ~ damage + (1 | pop)
##         stat    ndf    ddf F.scaling p.value  
## Ftest 5.5986 2.0000 4.7013    0.8773 0.05704 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
modsininter<-lmer(ln1.wt.stem~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 : ln1.wt.stem ~ damage + origen + (1 | pop) + damage:origen
## small : ln1.wt.stem ~ damage + origen + (1 | pop)
##           stat      ndf      ddf F.scaling p.value
## Ftest   0.0251   1.0000 364.0143         1  0.8742
##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:
## ln1.wt.stem ~ damage + origen + (1 | pop) + damage:origen
##           npar logLik     AIC    LRT Df Pr(>Chisq)  
## <none>       6 243.84 -475.68                       
## (1 | pop)    5 241.24 -472.48 5.2005  1    0.02258 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
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.01830442
## teotihuacan  0.01830442
## valdeflores  0.01212179
## zubia       -0.01212179
dput(cl<-ranef(fit1,condVar=T))
## structure(list(pop = structure(list(`(Intercept)` = c(-0.0183044176887871, 
## 0.0183044176887786, 0.0121217883638413, -0.0121217883638453)), class = "data.frame", row.names = c("morelos", 
## "teotihuacan", "valdeflores", "zubia"), postVar = structure(c(0.000107620936792298, 
## 9.20084042885331e-05, 0.0001526767626722, 0.000195687460320704
## ), .Dim = c(1L, 1L, 4L)))), class = "ranef.mer")
dotplot(cl)
## $pop