Forest Plot in R-Quick Guide

[This article was first published on Data Analysis in R, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

The post Forest Plot in R-Quick Guide appeared first on finnstats.

If you are interested to learn more about data science, you can find more articles here finnstats.

Forest Plot in R, A forest plot, also known as a “blobbogram,” is used in meta-analyses to combine the findings of multiple research into a single figure.

In the previous article we discussed about Not Satisfied with statistical significance (p-value) »

The value of interest in the studies is shown on the x-axis (typically an odds ratio, an effect size, or a mean difference), and the findings from each individual study are shown on the y-axis.

This kind of map provides an easy method to see the outcomes of numerous research at once.

The example that follows demonstrates how to make a forest plot in R.

Example: Forest Plot in R

We must first establish a data frame to retain the effect size (or other value of interest) and the upper and lower confidence intervals for each research before we can use R to create a forest plot.

How to Apply AI to Small Data Sets? »

Let’s create data

df <- data.frame(study=c('M1', 'M2', 'M3', 'M4', 'M5'),
                 index=1:5,
                 effect=c(-.3, -.2, -.18, .18, .15),
                 lower=c(-.43, -.29, -.17, -.02, .04),
                 upper=c(-.32, -.11, -.04, .32, .24))

Now we can view the data frame

head(df)
   study index effect lower upper
1    M1     1  -0.30 -0.43 -0.32
2    M2     2  -0.20 -0.29 -0.11
3    M3     3  -0.18 -0.17 -0.04
4    M4     4   0.18 -0.02  0.32
5    M5     5   0.15  0.04  0.24

Next, we can make the following forest plot using the ggplot2 data visualisation package’s functions.

The Role of Data Science in Preventing Fraud »

Let’s load ggplot2

library(ggplot2)

Now we can create a forest plot

ggplot(data=df, aes(y=index, x=effect, xmin=lower, xmax=upper)) +
  geom_point() +
  geom_errorbarh(height=.1) +
  scale_y_continuous(name = "", breaks=1:nrow(df), labels=df$study)

Each study’s effect size is shown on the x-axis, and its name is shown on the y-axis.

Importance of Data Cleaning in Machine Learning »

Each study’s effect size is represented by a point on the plot, and the error bars illustrate the confidence interval boundaries.

In order to improve the visual appeal of the chart, we can also add a title, change the axis names, and add a vertical line with an effect size of zero:

Now we can do some beautification in the forest plot.

ggplot(data=df, aes(y=index, x=effect, xmin=lower, xmax=upper)) +
  geom_point() +
  geom_errorbarh(height=.1) +
  scale_y_continuous(breaks=1:nrow(df), labels=df$study) +
  labs(title='Effect Size by Study', x='Effect Size', y = 'Study') +
  geom_vline(xintercept=0, color='black', linetype='dashed', alpha=.5) +
  theme_minimal()

You are able to change the plot’s theme to suit your preferences. For an even more traditional aesthetic, we could also use theme classic().

Surprising Things You Can Do With R »

ggplot(data=df, aes(y=index, x=effect, xmin=lower, xmax=upper)) +
  geom_point() +
  geom_errorbarh(height=.1) +
  scale_y_continuous(breaks=1:nrow(df), labels=df$study) +
  labs(title='Effect Size by Study', x='Effect Size', y = 'Study') +
  geom_vline(xintercept=0, color='black', linetype='dashed', alpha=.5) +
  theme_classic()

If you are interested to learn more about data science, you can find more articles here finnstats.

The post Forest Plot in R-Quick Guide appeared first on finnstats.

To leave a comment for the author, please follow the link and comment on their blog: Data Analysis in R.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)