Understanding current data. It looks as if the counts from your previous experiment may have
been something like those in the table below, where the first row
is for the control group and the second for the treatment group,
and columns are for 0 through 5.
TAB
[,1] [,2] [,3] [,4] [,5] [,6]
n.c 10 11 9 10 8 8
n.t 16 4 5 9 21 30
A chi-squared test would have rejected the null hypothesis
that scores 0-5 are independent of group, with P-value 0.002.
chisq.test(TAB)
Pearson's Chi-squared test
data: TAB
X-squared = 19.261, df = 5, p-value = 0.001718
But this does not say that scores are higher in the treatment group, only that the distributions differ--as one can readily
see from the histograms your posted.
chisq.test(TAB)
Pearson's Chi-squared test
data: TAB
X-squared = 19.261, df = 5, p-value = 0.001718
The lists of individual scores for treatment and control
groups can be reconstructed as follows:
x.t = rep(0:5, times=n.t)
table(x.t)
x.t
0 1 2 3 4 5
16 4 5 9 21 30
summary(x.t)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.000 2.000 4.000 3.235 5.000 5.000
x.c = rep(0:5, times=n.c)
table(x.c)
x.c
0 1 2 3 4 5
10 11 9 10 8 8
summary(x.c)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.000 1.000 2.000 2.339 4.000 5.000
The treatment mean and median are larger than the control mean
and median. A Wilcoxon rank sum test confirms that the treatment
scores are centered above the control scores:
wilcox.test(x.t, x.c, alt="greater")
Wilcoxon rank sum test
with continuity correction
data: x.t and x.c
W = 3068.5, p-value = 0.001552
alternative hypothesis:
true location shift is greater than 0
One can quibble about what a 2-sample Wilcoxon test means when the two samples have different shapes. However, empirical CDF plots show that the treatment scores (blue) 'stochastically dominate' the control scores; that is, the treatment ECDF is (mainly) to the right of the control ECDF (thus below it on the cumulative probability graph).
plot(ecdf(x.c), col="brown",
main="ECDF Plots of Data (Control in Brown)")
lines(ecdf(x.t), col="blue")

Power and sample size. From the one prior experiment of this kind we can guess
that having about 84 subjects in the treatment group and
about 56 in the control group, gives enough power to
detect a difference between the two groups.
If the control group for a subsequent experiment will
give nearly a uniform distribution of the six scores
and you have some idea what distribution among the
treatment group you want to detect, then we can do
a simulation to approximate the power. It is a little
more efficient to have equal sample sizes in the treatment and control groups, so I will start with $n_t = n_c = 75.$
Also, I will suppose we want to detect a treatment
distribution with probabilities pr
$= (1,1,2,2,3,3)/12.$
respectively, for the six values $0$ through $5.$
For this particular scenario, you will have power about 78%.
set.seed(112)
pr = c(1,1,2,2,3,3); n = 75
pv = replicate(10^5, wilcox.test(sample(0:5,n,rep=T),
sample(0:5,n,rep=T,p=pr),alt="less")$p.val)
mean(pv <=.05)
[1] 0.77812
If you need to detect a less extreme pattern or probabilities, then the power would be smaller; you would reject against this less extreme alternative more than half the time with 75 subjects in each group.
set.seed(112)
pr = c(1,1,1,2,2,2); n = 75
pv = replicate(10^5, wilcox.test(sample(0:5,n,rep=T),
sample(0:5,n,rep=T,p=pr),alt="less")$p.val)
mean(pv <=.05)
[1] 0.55869
This smaller effect is more often detected when you have 135 subjects in each group; power about 78%.
set.seed(112)
pr = c(1,1,1,2,2,2); n = 135
pv = replicate(10^5,wilcox.test(sample(0:5,n,rep=T),
sample(0:5,n,rep=T,p=pr),alt="less")$p.val)
mean(pv <=.05)
[1] 0.779
I don't know any closed-form power formulas for such
Wilcoxon tests, but you can get a reasonably good idea
what sample sizes to use if you can guess the kind of
difference you want to find.