# Choice of transformation for my data set

My data set contains the percentage cover of various plant species, on a rocky substrate. The problem I am having is that the substrate was often completely bare of any plant life. Due to this, a large proportion of the quadrats that I used contained zero percentage cover, which leads me to having heavily right-skewed data.

Therefore, I have to transform my data before I am able to calculate an ANOVA test. I originally went ahead with using the Arcsine transformation, but this still leaves my data right skewed, however, if I do log10 the distribution is normal.

The answer might seem obvious, but the majority of the online material I look at insists on using Arcsine for percentage cover, but this does not normalise my distribution as well as log10 does. Which one should I use?

• Is percent cover the response here? I'd add that you didn't explain what you did to push zeros through logarithms. Jan 12, 2018 at 16:06
• Yes percent cover is the response variable here. As for pushing zeros through logarithms, I had assumed that since there was no presence within the quadrat, the answer would be zero, in effect I did not log10 zeros. However, this is based on an assumption, correct me if what I have done is wrong. Jan 12, 2018 at 16:18
• Sorry, but I am not clear on what you did. Zero is the logarithm of 1. The logarithm of zero is undefined. That is the problem. Jan 12, 2018 at 16:20

It is rarely necessary to obtain normally distributed data to perform inference or even prediction. An issue with performing an arbitrary change of variable is that the effects are hard to interpret, or even uninterpretable. For instance, if an arcsine transformation is applied to the effects, on what unit is the outcome? For that reason I would not recommend Box-Cox transformations, although methodologically they identify an optimal change of variable for obtaining normally distributed outcomes. Given the ratio-nature of the outcome, log transforms (of any base power) confer the benefit of estimating a geometric mean difference. The log of 0 is undefined, however. Your "0 cover" cases are dropped from the analysis. But perhaps you should consider a type of structural/0 inflated model: first for the binomial probability of having any cover, then (of the non-zero cover groups), what the geometric mean difference(s) is/are between sites (or whatever comparative features you have identified).

• Do you think that Kruskal-Wallis test could resolve the issue allowing to use non-transformed data? Jan 12, 2018 at 18:25
• @statisticianwannabe rank based tests are a bad idea for 0 inflated datasets since a large proportion of the observations are tied. And there is no useful interpretation of the rank-based tests. It is only a test of medians when the distribution is symmetric (in which case it is also a test of mean). Jan 12, 2018 at 18:27

I am having to deal quite often with the same kind of analysis. Since the data are percentages (i.e. percent cover) the ideal way, in my opinion, is to use beta regression using the betareg package in R for example. However, since zeros are part of our life when doing vegetation surveys, betareg cannot be used as it requires the interval (0,1). Hence, I moved to zero-inflated beta regression models via the gamlss package (see also my question here). This package comes with a lot of other useful distributions. However, it becomes problematic when you have factor levels (e.g. treatments) and you want to do for example Tukey adjusted multiple means comparisons. @rvl who wrote the emmeans package provided preliminary support to do this, however, with a word of caution. Note though that for betareg models the emmeans package works perfectly well.

What I sometimes do to reduce the amount of zeros, is to sum species percentages across those species that I can group into herbaceous species, woody species, native species, non-native species, etc. That will in my case often reduce the amount of zeros substantially in the dataset. Then I can follow up with an ad-hoc scaling procedure that moves the remaining zeros into the (0,1) interval (as suggested in Smithson & Verkuilen (see betareg vignette)):

[...] if y also assumes the extremes 0 and 1, a useful transformation in practice is (y·(n−1) + 0.5)/n where n is the sample size (Smithson and Verkuilen 2006).

The next set of tools to analyze vegetation cover data would be Bayesian, as implemented in the zoib package for example. However, I haven't explored the Bayesian models yet but it's certainly on the to-do list.