[R-sig-ME] How to code proportional data with gamm binomial model using gamm4 package?

Simon Wood s.wood at bath.ac.uk
Sat Apr 24 12:56:39 CEST 2010


Julien,

Apologies for the cbind problem: I'll see what I can do about that.

The different results problem is probably because neither of your model 
specifications is quite right. For the `cbind' form of the response you 
should provide something ot the form cbind(success,failure), not 
cbind(success, success+failure). For the proportions form then you must 
supply a `weights' argument containing your `total'.

best,
Simon

On Friday 19 March 2010 19:30, Julien Beguin wrote:
> Dear user,
>  
> I am trying to fit an additive mixed model with proportional data as
> response variable using gamm4 package. My proportional data are composed of
> 1) the number of time an individual was observed at location i (=presence),
> and 2) the number of time each location i was visited (=total). In my data
> set, I also have one random variable (=bloc) and a set of continuous
> independent variables that could explain part of the response variable
> variability. 
> Unfortunately, I have trouble to specify the response variable in the
> model. When I try to code proportional dataas "cbind(presence,total)", I
> don't have access to the "gam" object in the summary() function, while I
> can get the "mer" object which is, fortunately, similar to that from
> glmer() model... When I try to code proportional data directly as
> "proportion" ([0,1]) where proportion = presence/total, I can get all what
> I want except that model parameters and AIC values does not match the
> previous one anymore. I guess that I am doing something wrong here... 
> My question is how to code proportional response variables to get the "gam"
> object in the summary() function and that gives consistant results of AIC,
> parameter estimates, etc...? 
> My R code is below. It is a simple version where I included only one
> independent variable and no smooth term yet but in my real data set, I will
> use several independent variables, potentially with smoothers. 
> Any help would be really appreciated,
>  
> Many thanks,
>  
> Julien Beguin
>  Laval University
>  Ph.D. candidate
>
>
>  ----------------------------------------------- R code
> ---------------------------------------- #################
>  # simulated data#
>  #################
>  
> set.seed(1001)
>  presence <- round(runif(50,0,15))
>  total <- round(runif(50,50,70))
>  prop <- presence/total
>  bloc <- rep(c(1,2,3,4,5), each=10)
>  x1 <- rnorm(50, 20, 5)
>  mydata <- as.data.frame(cbind(presence, total, prop, bloc, x1))
>  mydata$bloc <- as.factor(mydata$bloc)
>  
> #############################################################
>  # gamm model with response variable as cbind(presence,total)#
>  #############################################################
>
> mod1 <- gamm4(cbind(presence,total)~ x1,
> random=~(1|bloc),family=binomial(link = "logit"), data=mydata)
> summary(mod1$gam)
>
> >Error in object$y - object$fitted.values : non-conformable arrays
>
>  
> summary(mod1$mer)
>
> > AIC   BIC logLik deviance
> >
>  > 150.7 156.4 -72.33    144.7
>  >
>  >Fixed effects:
>  >             Estimate Std. Error z value Pr(>|z|)   
>  >X(Intercept) -1.54827    0.21700  -7.135  9.7e-13 ***
>  >Xx1          -0.02927    0.01110  -2.637  0.00837 **
>
>  
> mod2 <- gamm4(prop~ x1, random=~(1|bloc),family=binomial(link = "logit"),
> data=mydata)
>
>  summary(mod2$gam)
>
> >Parametric coefficients:
>  >            Estimate Std. Error z value Pr(>|z|)
>  >(Intercept) -1.35978    1.68946  -0.805    0.421
>  >x1          -0.03236    0.08600  -0.376    0.707
>
>  
> summary(mod2$mer)
>
> > AIC   BIC logLik deviance
> >
>  > 8.983 14.72 -1.492    2.983
> >
> >Fixed effects:
>  >             Estimate Std. Error z value Pr(>|z|)
>  >X(Intercept) -1.35978    1.68946  -0.805    0.421
>  >Xx1          -0.03236    0.08600  -0.376    0.707
>
>  
> mod3 <- glmer(cbind(presence,total)~ x1 + (1|bloc), family=binomial(link =
> "logit"), data=mydata, REML=FALSE) summary(mod3)
>
> > AIC   BIC logLik deviance
> >
>  > 150.7 156.4 -72.33    144.7
> >
> >Fixed effects:
>  >            Estimate Std. Error z value Pr(>|z|)   
>  >(Intercept) -1.54827    0.21700  -7.135  9.7e-13 ***
>  >x1          -0.02927    0.01110  -2.637  0.00837 **
>
>  
> mod4 <- glmer(prop~ x1 + (1|bloc), family=binomial(link = "logit"),
> data=mydata, REML=FALSE) summary(mod4)
>
> > AIC   BIC logLik deviance
> >
>  > 8.983 14.72 -1.492    2.983
> >
> >Fixed effects:
>  >            Estimate Std. Error z value Pr(>|z|)
>  >(Intercept) -1.35978    1.68946  -0.805    0.421
>  >x1          -0.03236    0.08600  -0.376    0.707

-- 
> Simon Wood, Mathematical Sciences, University of Bath, Bath, BA2 7AY UK
> +44 1225 386603  www.maths.bath.ac.uk/~sw283 




More information about the R-sig-mixed-models mailing list