I would go for bootstrap to compute 95% CIs. This is what is generally done with coefficient of heritability or intraclass correlation. (I found no other indication in Falconer's book.) There is an example in the gap package of an handmade bootstrap (see help(h2)
) in case of the correlation-based heritability coefficient, $h^2$. IMO, you're better off computing the variance components yourself, and using the boot package. Briefly, the idea is to write a small function that returns your MSs ratio and then call the boot()
function, e.g.
library(boot)
repeat.boot <- function(data, x) { foo(data[x,])$ratio }
res.boot <- boot(yourdata, repeat.boot, 500)
boot.ci(res.boot, type="bca")
where foo(x)
is a function that take a data.frame, compute the variance ratio, and return it as ratio
.
Sidenote: I just checked on http://rseek.org and found this project, rptR: Repeatability estimation for Gaussian and non-Gaussian data. I don't know if the above is not simpler.