I have to report the Confidence Intervals for the $\eta^{2}$ obtained in a MANOVA in R.

I use the function etasq of the package heplots to obtain the $\eta^{2}$.

fit2 <- manova(cbind(data$V247d,data$V248d,data$V249d,data$V250d,data$V251d,data$V252d,data$V253d,data$V254d,data$V255d,data$V256d,data$V257d) ~ data$cond)
etasq(fit2) # eta^2 = 0.03

cond is a binary variable (yes/no) that decides whether people are in group 1 or group 2.

How do I obtain to the CI for eta squared here?

Thank you

  • 1
    $\begingroup$ What kind of variable is data$cond, factor or quantitative variable? If it's a factor, how many levels does it have, and what confidence interval are you specifically looking for such a factor? $\endgroup$
    – bluepole
    Sep 17, 2014 at 16:00
  • $\begingroup$ cond is binary, yes/no. the journal asks me to report effect size and confidence intervals for every statistic reported. i thought eta squared would work well for manova, but any other effect size measure (as long as standardized) is also ok. $\endgroup$
    – Torvon
    Sep 17, 2014 at 18:20

2 Answers 2


Alternatively, you can bootstrap $\eta^2$ to compute its sampling distribution.

## using mtcars as an example dataset
f <- function(d){
  temp <- d[sample(nrow(d), replace = TRUE), ]
  return(as.numeric(etasq(manova(with(temp, cbind(mpg, wt) ~ am)))))
r_etasq <- replicate(999, f(mtcars))
(ci95_etasq <- quantile(r_etasq, c(0.025, 0.975)))
     2.5%     97.5% 
0.3194276 0.6869550

enter image description here


I found the answer. Here the steps to build the CI of eta-squared:

  1. Transform eta-squared into r (squareroot)
  2. Use fisher transformation and sample N to transform r into z; that gives you CI of z
  3. Transform CI of z back into CI of r
  4. Square CI of r to obtain CI of eta-squared.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.