# Two-part models in R: continuous outcome with too many zeros

I am estimating a model where the outcome variable is continuous, more specifically a percentage in the form of a 0 to 1 range. This variable has one potential problem: many of its cases equal zero (around 40%). Since it is not a count variable, I cannot employ a Poisson zero-inflated model. I have been searching for the appropriate technique to handle the problem, and found out that probably the most indicated would be the so called two-part model estimation - which is pretty much the joint application of a logit and a truncated estimation.

However, I would like to check with you all:

1. If there are also other options when we do have a continuous / percentage outcome variable that is zero-inflated.
2. How can I run a two-part model in R? I've found a few suggestions online, like the hurdle package. But none actually seem to work with continuous outcomes.
• I'd normally suggest a log-transformation, but you can't do log of 0. You could try turning all of your 0s to really really small decimals and logging the data; that may normalize it. But it sounds like your hypothesis is there may be a separate process defining the 0s from the greater than 0s - that is one of the motivations for doing a 2 part model, not just the 0 inflation. Also, keep in mind your DV is a percentage, bounded by definition between 0 and 1, so a linear regression may give you impossible predicted values. Mar 17, 2015 at 1:01
• What is your outcome variable measuring? Percent of what? Mar 17, 2015 at 1:11
• Is your data a mixture of count data with some sort of weights applied, and the zeros are examples when the count equal zero? What is your intuition for why there are so many zeros? The answer will depend on this. Zero inflated Poisson is just a mixture model, so the same idea can be applied to non count data. Mar 17, 2015 at 2:39
• Thanks for your quick responses. In fact, I suspect there is separate process leading to the 0 and to the probability function of from above zero to 1. One affects the reason for why a company is/isn't present in a district; the second affects the degree of market share in each district. My outcome variable is not a mixture of count data, it is a percentage. It measures market share in districts. Any suggestions about any R implementation? Mar 17, 2015 at 21:18
• As I answered here, a Tweedie distribution is another possibility. As an R implementation, I would fit a binomial or binomial mixed model with (share>0) as a response variable, then a Gamma or a log-Normal (possibly mixed) model to the non-zero data only. Mar 18, 2015 at 3:33