I have a fairly fundamental problem with my data, they do not suggest that they were sampled from a normal distribution. This is problematic because I would like to run some sort of analysis of variance to determine at what level of significance my fixed effects may or may not be different (see boxplot).

The data are zero inflated and semi-continuous, at the foundation the data are count data but for this analysis I've taken ratios within spatial ground units containing the counts because my units are not a uniform size and I do not wish large units to have disproportional weight in the analysis, each row in the dataset represents one unit's ratio of measurements. So I have a univariate dataset with a unit type as-factor (x) and a ratio (y) that falls between 0 and 1. Zeros in my data are real and important as they indicate no change, and 1 represents 100% change.

Standard normality transformations of these data obviously don't solve the zero inflation issue. Fundamentally I was thinking if I could find a model that would fit the data I could run an ANOVA on the modeled data, because then the residuals would at least be approximately normal. Is this correct thinking?

My next issue is finding a modeling solution for the data. I've come to realize that I should probably be looking at hurdle models as discussed here and here. But I'm having trouble finding a suitable R package for my univariate with fixed effect data, I've read extensively on GLMMadaptive, but this package seams to not work on univariate data? I keep seeing references to glmmADBM but the documentation seams spotty.

I don't think my data fit tobit (zeros are real not censored neg) but could possibly fit into tweedie, but I do have the additional spike at 1, really suggesting a need for a hurdle model to fit the data.

Any suggestions would be greatly appreciated!

Histogram of just the ratios: enter image description here

Boxplot of what the data within fixed effect look like, possible hypothesis question: is Gravel different than Sbar?: enter image description here

  • $\begingroup$ Your observations are constrained to $[0,1]$, correct? $\endgroup$
    – Dave
    Sep 13, 2019 at 0:15
  • 2
    $\begingroup$ " for this analysis I've taken ratios within spatial ground units containing the counts because my units are not a uniform size and I do not wish large units to have disproportional weight in the analysis" -- I don't think this is ideal. More typical analysis would leave them as counts and use an offset to account for the effect of the different sizes. In fact dividing by area will likely lead to problems with heteroskedasticity. It's not clear to me what you did with the counts after scaling for size, but I likely wouldn't do that either. $\endgroup$
    – Glen_b
    Sep 13, 2019 at 1:25
  • $\begingroup$ Could you post [a link to] your data, so we might have a look? I second Glen_b on going for Poisson models (or extensions) and representing size via an offset. Have a look at stats.stackexchange.com/questions/142338/… $\endgroup$ Sep 13, 2019 at 8:34
  • $\begingroup$ @Glen_b its complicated to leave the data as counts because they are pixels with a defined spatial area, so I'm working with areas. The ratio is based on two measurements within each unit, not a single measurement/unit area; sorry for the confusion. Its possible that heteroskedasticity is an issue but I'm thinking that because the ratio is of two measurements w/in units I'm not sure its as big of a deal as if I was only working with one measurement and area. If anything very small units have a greater likelihood of approaching 1, for this reason I have considered removing very small units. $\endgroup$
    – Cagnaceae
    Sep 13, 2019 at 14:46
  • $\begingroup$ @halvorsen Thank you for pointing me in the direction of that other answer. Here is a link to a copy of my working data: github.com/ldurning/species/blob/master/ratioBACC.txt $\endgroup$
    – Cagnaceae
    Sep 13, 2019 at 19:35

1 Answer 1


If you really want to model your data as continuous, then you have the problem that they are defined in the $[0, 1]$ interval, i.e., they can take the values 0 and 1. The Beta distribution can be used to analyze bounded data but in the $(0, 1)$ interval, i.e., not taking the 0 and 1 values (because a continuous distribution has zero probability to take specific values).

Hence, you seem to need a zero- and one-inflated Beta distribution. This is provided in the brms package in R.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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