Site icon R-bloggers

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()

Check your inbox or spam folder to confirm your subscription.

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.