Skip to content

[R-meta] Jitter points in the contour-enhanced funnel plot

8 messages · Davide Momi, Michael Dewey, Angeline Tsui +1 more

#
Dear all,

I plotted the studies in my meta-analysis in a contour-enhanced funnel
plot. In my meta-analysis, I have about 140 studies. However, when I plot
the funnel plot, I find that a number of studies (i.e., points) overlapped
with each other in the plot and this leads to an illustration that I am not
plotting all studies in the funnel plot.

So I am writing to ask if you can teach me how to jitter points in the
funnel plot, so that there could be some spaces between studies with
similar effect size?

Thanks,
Angeline
#
I am also having the same problem (but I have more than 400 studies). Any
help regarding this would be highly appreciated

Thank you


Davide Momi
On Wed, Jul 18, 2018, 15:58 Angeline Tsui <angelinetsui at gmail.com> wrote:

            

  
  
#
Dear Angeline

The first thing I would try is using a different plot symbol. A hollow 
circle or a cross might help if the points are not absolutely identical. 
The second thing would be to re-run the meta-analysis with the values of 
yi and sei (or vi) with added jitter, perhaps using the jitter() 
function for that.

Michael
On 18/07/2018 14:58, Angeline Tsui wrote:

  
    
  
#
Dear Michael,

Thank you very much for your reply. I actually tried different plot symbol,
but it didn't help much.

For the jitter function, do you mean that I need to simply use the jitter
function with the effect size or var before running the regression and
later plot the regression model with funnel plot?

Thanks again,
Angeline

On Thu, Jul 19, 2018 at 5:41 AM, Michael Dewey <lists at dewey.myzen.co.uk>
wrote:

  
    
#
Dear Angeline

Yes, that was what I meant. Of course then the result of rma.uni() will 
be very slightly different but you are using the funnel plot as what 
Tukey called an impact graphic as opposed to an archive graphic so the 
fact that the contours may not be in precisely the same place is not 
going to be critical to your purposes.

If that does not work then I suggest going through the code of 
funnel.rma and finding where it plots the points and then making you own 
function with jitter added in to the call(s). That way you would still 
be using your original fit.

Michael
On 20/07/2018 00:39, Angeline Tsui wrote:

  
    
  
#
Hello Michael,

Thank you very much for your reply. Yes, I did jitter the effect size or
variance before running rma. But I did not find difference of the funnel
plot plotted using this method.

I am sorry but I really have a question about jittering the points in the
function of "funnel plot". I tried to go through the arguments and I really
do not know where I can put the jitter function in the code. I can't jitter
the regression model itself (as it is an object) and I can't jitter other
arguments as well because the other arguments are related to the graph
itself, for example y-axis and x-axis. I would very much appreciate it if
you can give me more tips here. I am a beginner of R (only knowing how to
run several analyses in R, so my knowledge of creating a function in R is
very limited).

Thanks,
Angeline

On Fri, Jul 20, 2018 at 3:56 AM, Michael Dewey <lists at dewey.myzen.co.uk>
wrote:

  
    
2 days later
#
Dear Angeline,

The easiest way is to (1) copy the meta-analysis object and (2) jitter 
the points in the new meta-analysis object.

Please find attached examples for R packages meta and metafor. Note, as 
metafor saves the variances (list element vi) and the funnel plot shows 
standard errors, you have to jitter the standard errors not variances. 
In meta, standard errors (list element seTE) are directly available.

Best wishes,
Guido
#
Dear Guido,

Thank you very much for your reply and the sample R script. I think it
helps.

Best,
Angeline

On Mon, Jul 23, 2018 at 4:38 AM, Guido Schwarzer <sc at imbi.uni-freiburg.de>
wrote: