I'm using glm to evaluate the response of mammal species to different % of forest cover. My response variable is the ratio of: number of species in each site/regional num of species (Patch_richness/Regional_richness). The outcome takes values 0-1 (0, 0.1, 0.5, 0.3, 1, .....). I've been told to use binomial family, but I'm not sure if this is appropiate. For instance, glm with binomial request "y" to be binary, so I can´t do:glm(Richness_prop~FOREST500+km,family=binomial). I've found that I can run the model as: glm(cbind(Patch_Richness, Regional_richness) ~ FOREST500+km, family=binomial) but according to R docs this means: cbind(Success,failures), which I think is not exactly the nature of my data. I was also able to run the model as: glm(Richness_prop~FOREST500+km,family=binomial,weights=Regional_Richness), and these two models provide different outcome (coeff, AIC).

So my question is, is it appropiate to use binomial family? or should I use beta distribution (betareg)? which I understand, it is suitable for a continuous y variable which takes values from 0 to 1.



1 Answer 1


For instance, glm with binomial request "y" to be binary,

The appropriate model call when you have multiple trials is

model = glm(cbind(Patch_Richness, Regional_Richness - Patch_Richness) ~ FOREST500 + km, family = binomial(), data = d)

The model call


Does not do what you want it to.

Beta regression is more appropriate when the denominator of the proportion is not a whole number. The betareg documentation has some good examples to do with oil refining.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.