How can I analyze response data that is clustered around the ends and middle of a scale? I have an experiment where I divide people up in to 4 conditions, give them 100 dollars 
and allow them to gamble any percentage of the $100 that they chose (50% chance of earning 2.5 as much as they gamble, or losing everything. They keep any remaining amount they didn't gamble)
The responses are heavily clustered around 0, 50, and 100 (with about 1/3 of them being somewhere in between).
Normally it would be a simple ANOVA, but I think this clustering violates the assumption of a normal distribution.
Can anyone help me correct for this or suggest some other method of analysis?
If anything is not clear, please let me know! 
Thanks so much for your help!
 A: The clustering alone is not an issue here. You could have clustering around certain values and an ANOVA analysis would be fine.  What is an issue in this analysis is the constriction of your numeric variable between 0 and 100.  The problem with that is that you may end up with a confidence interval estimate that falls outside of 0 or 100 which would be nonsensical in your case. 
If you run it as a binomial model, your output will give you a mean percentage (probability) between 0 and 100 for each condition, which is what you need.
A great explanation of this is here.
Here's example code:
#Create data
Subject = as.factor(c("A", "B", "C", "D", "E", "F", "G", "H", "I"))
Condition = as.factor(c("1", "2", "4", "3", "2", "1", "3", "2", "4"))
Success = as.numeric(c(40, 50, 20, 50, 100, 0, 100, 30, 50))
Failure = 100-Success

#Run model
mod = glm(cbind(Success, Failure) ~ Condition, family=binomial)
summary(mod)

#Get predicted probabilities and 95% confidence intervals for each condition
newdata = data.frame(Condition = c("1", "2", "3", "4"))
Cond = predict(mod, newdata, type="response", se.fit=TRUE)

#Condition 1
Cond$fit[1]
Cond$fit[1] - 2*Cond$se.fit[1]
Cond$fit[1] + 2*Cond$se.fit[1]
#Condition 2
Cond$fit[2]
Cond$fit[2] - 2*Cond$se.fit[2]
Cond$fit[2] + 2*Cond$se.fit[2]
#Condition 3
Cond$fit[3]
Cond$fit[3] - 2*Cond$se.fit[3]
Cond$fit[3] + 2*Cond$se.fit[3]
#Condition 4
Cond$fit[4]
Cond$fit[4] - 2*Cond$se.fit[4]
Cond$fit[4] + 2*Cond$se.fit[4]

