I was doing a meta-analysis of single proportion using the meta package in R.

I performed a double arcsine transformation to my data. I also wanted to do a trim and fill procedure. However, when backtransf= in the trimfill function is TRUE, the result came back as NA. I was not able to get a transformed back proportion. Interestingly, when I applied other transformations, including PRAW, PLOGIT, and PAS, everything worked fine. So, my question is how to get the original proportion after you perform a PFT in this situation?

Below is my code:

proportion = read.table("D:\\...\\Example.csv", header=T, sep=",")
metaproportion = metaprop(cases, total, author, data=proportion, 
                          sm="PFT", method.tau="DL", method.ci="CP",
                          incr=0.5, allincr=FALSE, addincr=FALSE, title="")
taf = trimfill(metaproportion, backtransf=TRUE, comb.fixed=FALSE, 
               comb.random=TRUE, ma.fixed=FALSE, type="R")

The results:

          proportion     95%-CI            z  p-value
Random effects model         NA        16.10 < 0.0001

I uploaded my data into my Google drive.

  • 1
    $\begingroup$ Despite the appearance there is a statistical issue here independent of what software the OP is using. The link which I provide in my answer sets it out in some detail. $\endgroup$
    – mdewey
    Jun 4, 2017 at 12:38

1 Answer 1


The issue here is that it is difficult to work out the back transformation for the summary although relatively easy for the individual studies.

Sometimes also referred to as the double arcsin(e) transformation described by Freeman and Tukey here

$$ y_i = \sin^{-1} \sqrt{\frac{r_i}{n_i+1}} + \sin^{-1} \sqrt{\frac{r_i+1}{n_i+1}} $$ Where the $i$th study has $r_i$ successes out of $n_i$ trials. We can weight each $y_i$ by the inverse of its variance. $$ V(y_i) = (n_i + 0.5)^{-1} $$ The weights $w_i=(n_i+0.5)$ are then applied in the usual way. Having formed the weighted average $y$ it is usual to back--transform it onto the original scale by noting that for large $r_i, n_i$ reduces to $$ y = 2 \sin^{-1} \sqrt{\frac{r}{n}} $$ and using $$ p = \left(\sin \frac{y}{2}\right)^2 $$ Incidentally Miller gives a more accurate formula for small $n$. $$ p = 0.5\left(1-\mathrm{sign}(\cos y) \sqrt{1 - \left(\sin y + \frac{\sin y - \frac{1}{\sin y}}{\tilde{n}}\right)^2}\right) $$ where $\tilde{n}$ is the harmonic mean of the study sizes, $$ \tilde{n} = \frac{k}{\sum{n_i^{-1}}} $$

The problem for software is that this demands the step of forming the harmonic mean and the required information has not usually been supplied to the function. So the fairly simple calculations need to be done separately outside the function. There is an extensive example of how to do it using a different package (metafor) available here which you should be able to use to work out the code you need to do this using your preferred package, or indeed using any other software system..

Note that the Freeman--Tukey transformation although often referred to as variance stabilising only stabilises the variance for equal $n_i$ hence the need for the weighting step.

  • $\begingroup$ Thank you mdewey. I have figured out how to do this using metafor. So, I'm trying to get the same results using meta but it seems that it's much harder to do. $\endgroup$
    – Naike Wang
    Jun 4, 2017 at 12:55
  • $\begingroup$ @NaikeWang, questions about how to use software (eg, how to do this in meta) are off topic here. Your question is staying open because of the statistical issues mdewey addresses. You might have to code this up yourself, or ask on the r-help listserv. $\endgroup$ Jun 4, 2017 at 16:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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