How to test over-dispersion for a compositional data in R? I would do an over-dispersion test for a compositional data set (I don't have the original count values) for choosing later an appropriate regression model. Here is an example of my data set:
X<-matrix(sample(1:100,100,T), 20,5)
X<-X/apply(X,1,sum)
colnames(X)<-paste("Comp", 1:5, sep="")
rownames(X)<-paste("Id", 1:20, sep="")

Does anyone know how to do this test in R?
 A: You are basically stuffed unless you have some idea of how many observations there are - the counts are what drives the variance - $ var(n_{rc})=n_{r}\pi_{rc} (1-\pi_{rc}) $ and you don't know $ n _{r}$ but only $ f_{rc}=\frac {n_{rc}}{n_r} $.  If you look at the two typical measures of error for contingency tables you have
$$X^2_{pearson}=\sum_{rc}\frac {(O_{rc}-E_{rc})^2}{E_{rc}}=\sum_{rc}n_{r}\left (\frac {f_{rc}}{\pi_{rc}}-1\right) $$
$$ X^2_{deviance}=2\sum_{rc} O_{rc}\log\left (\frac {O_{rc}}{E_{rc}}\right)=2\sum_{rc} n_r\left [f_{rc}\log\left (\frac {f_{rc}}{\pi_{rc}}\right) \right] $$
You may be able to get some idea of what the counts could be by noting that $ f_{rc} $ is a ratio of two integers.  For example if $ f_{rc}=0.05 $ then the denominator must be an integer multiple of $20 $.  If you also have that another $ f_{rd}=0.33333\dots$ then the denominator must be an integer multiple of $60 $.  Of course you will have some problems when dealing with proportions stored with finite precision (technically the second proportion would be trimmed at some point).  A crude lower bound that is easy to calculate is the inverse of the minimum non-zero $ f_{rc} $.  The row totals must be at least as big as this number.  This allows you to put lower bounds on the $ X^2 $ statistics.
