I'm trying to run a GLMM with a response variable that is left-skewed. Eventually this model will form part of a piecewise structural equation model (using piecewiseSEM).
I have data from 480 plots, and the response variable is the cover of grass (
cover) assessed using Braun-Blanquet cover scores ranging between 0-6 (i.e. 0 = 0% cover, 1 = <1% cover, 2 = 1-6% cover, ...., 6 = 75-100% cover). Even though it's technically ordinal categorical data, piecewiseSEM tutorials suggest treating this type of data as a continuous variable treating the categories as numbers, because piecewiseSEM can't include categorical data (find the tutorial here).
My two response variables are binary variables relating to whether a sheltering treatment was applied (
Shelter.binary 0=no, 1=yes) and whether a fertiliser treatment was applied (
Fert.binary 0=no, 1=yes). I'm using binary variables instead of factors with two levels, because piecewiseSEM can't deal with factors. The plots are also arranged in blocks, so I want to include the block number as a random factor.
This is the type of model I would like to run (I'm currently experimenting with the
model = glmer(cover ~ Shelter.binary + Fert.binary + (1|Block),data=d1)
This is a histogram of the cover variable, it is highly left-skewed:
My questions are:
- Is there a type of distribution I can specify in the model that is appropriate for left-skewed data?
- I've tried transforming the data so I can use a Gaussian distribution, but the distribution remains quite skewed (I've tried using cube, square, log(max(x+1) - x), 1/(max(x+1) - x)). Maybe there is something I haven't tried?
- My reading suggests that Beta regression can be used for left-skewed data when values are within a standard unit interval (typically 0-1). Although my data is not between 0 and 1, it is still within a set range (i.e. scores can't be below 0 or above 6). Might Beta regression be appropriate?
- If Beta regression is appropriate, how might I implement this in R suitable for piecewiseSEM? I've tried using the code from this page, https://drizopoulos.github.io/GLMMadaptive/articles/Custom_Models.html, but piecewiseSEM is not recognizing the model. Would the
lme4package have a way of implementing this distribution (or something else appropriate) that might be recognized by piecewiseSEM?
I'm finding it difficult to get my head around all the GLMM options, so any suggestions and explanations would be greatly appreciated.