II tried to do a Funnel plot of a dataset for a disease-prevention paper, view dataset here. Got the plot, but am worried it is wrong.The dataset contains the Hazard ratio(HR), Lower control limit(LCL), Upper control limit(UCL) and the Standard Errors(SE)[of Ln(HR)] values, and I used the SE values to calculate Variances(var in the dataset). Here is the code I used:

age <- read.csv("age.csv", header=TRUE)  
res <- rma(yi=lnhr, vi=var, data=age)
funnel(res,xlab = "ln(HR)",ylab = "SE.ln(HR)")

The question I had was this: In most studies I have seen, the Ln(HR) values are negative, whereas in the dataset I was working on, almost all are positive. So for the correct funnel, should I take yi=-lnhr, or is yi=lnhr the correct method, in the res object?

P.S:(According to the Metafor repository linked here, yi is effect-size, and vi is the variance)

Update:Here are the results using the above code and dataset, taking yi=-lnhr

Random-Effects Model (k = 11; tau^2 estimator: REML)

tau^2 (estimated amount of total heterogeneity): 0.0001 (SE = 0.0002)

tau (square root of estimated tau^2 value): 0.0122

I^2 (total heterogeneity / total variability): 35.20%

H^2 (total variability / sampling variability): 1.54

Test for Heterogeneity:

Q(df = 10) = 16.8884, p-val = 0.0769**

Model Results:

estimate= -0.0379
se =0.0067




ci.ub=-0.0248 ***

And here is the funnel plot generated.

  • $\begingroup$ Hmm it might be beneficial to explain what exactly your results were. It may be difficult to explain why you got what you did without knowing how you got there. Though I understand wanting to redact info that may be important to not share. Perhaps just the statistical values of each part of your meta may be helpful. $\endgroup$ Mar 4, 2022 at 10:12
  • 1
    $\begingroup$ Negative lnHR are just positive lnHR in the other direction. $\endgroup$
    – mdewey
    Mar 4, 2022 at 15:07
  • $\begingroup$ @mdewey how does that affect the Funnel? $\endgroup$
    – iFoundNemo
    Mar 4, 2022 at 16:38
  • 1
    $\begingroup$ @ShawnHemelstrand added the results I got $\endgroup$
    – iFoundNemo
    Mar 4, 2022 at 16:39
  • 1
    $\begingroup$ Why don't you write an answer based on what you found? That could help future visitors to the site with similar questions. It's OK to answer your own question that way. If you do, please provide some information about the purpose of funnel plots in meta-analysis. $\endgroup$
    – EdM
    Mar 4, 2022 at 21:27

1 Answer 1


Funnel plots are great at analysing publication bias.

If publication bias is present, smaller (less precise) studies that failed to show statistical significance will be less likely to be published. This is reflected as asymmetry in the funnel plot.

In the code above, I already had the Variance values, but in some datasets, this is not the case. In such cases, Variances(vi) and standard effects(sei) can be calculated using the escalc function linked here(part of the metafor package). For my model(and Hazard/Risk ratio models in general), standard effect sizes correspond to the log of the Hazard ratios, and variances of NOT the Hazard ratios, but of their logarithms. Changing the sign of the Effect sizes merely flips the graphs horizontally, as we just change our point of view from an ascending order to descending or vice versa. Hope this answers it!

  • $\begingroup$ @mdewey yes, my bad I meant Effect sizes, updated it now. Thanks for pointing it out! $\endgroup$
    – iFoundNemo
    Mar 5, 2022 at 21:06

Your Answer

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

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