https://github.com/mcguinlu/robvis
A package to quickly visualise risk-of-bias assessment results
https://github.com/mcguinlu/robvis
evidence-synthesis risk-of-bias systematic-reviews visualisation
Last synced: 3 months ago
JSON representation
A package to quickly visualise risk-of-bias assessment results
- Host: GitHub
- URL: https://github.com/mcguinlu/robvis
- Owner: mcguinlu
- License: other
- Created: 2019-04-09T04:01:14.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-04-25T16:29:49.000Z (over 1 year ago)
- Last Synced: 2025-06-17T16:03:53.798Z (4 months ago)
- Topics: evidence-synthesis, risk-of-bias, systematic-reviews, visualisation
- Language: HTML
- Homepage: https://mcguinlu.github.io/robvis/
- Size: 83.9 MB
- Stars: 63
- Watchers: 4
- Forks: 24
- Open Issues: 17
-
Metadata Files:
- Readme: README.Rmd
- Changelog: NEWS.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
---
output: github_document
---```{r setup, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "90%",
fig.width= 12,
fig.height=3)fig_count <- 1
```
# robvis[](https://www.repostatus.org/#active)
[](https://CRAN.R-project.org/package=robvis)
[](https://CRAN.R-project.org/package=robvis)
[](https://github.com/mcguinlu/robvis/actions)
[](https://codecov.io/gh/mcguinlu/robvis?branch=master)
[](https://doi.org/10.1002/jrsm.1411)
[](https://www.github.com/rmetaverse/metaverse)**UPDATE**: `robvis` now exists as a [web-app](https://mcguinlu.shinyapps.io/robvis), aimed at those who are not familiar with R or who want to explore the package's functionality before installing it locally.
## Description
```{r include = FALSE}
library(robvis)
```The `robvis` (Risk-Of-Bias VISualization) package facilitates the rapid production of publication-quality risk-of-bias assessment figures, correctly formatted according to the assessment tool used.
The motivation for this package is more fully described in the (open access) article introducing the tool, available [here](https://doi.org/10.1002/jrsm.1411).
## Getting started
Install the development version which contains new functionality and a range of bug fixes:
```{r, eval=FALSE}
install.packages("devtools")
devtools::install_github("mcguinlu/robvis")
```To update the package, run the `install_github("mcguinlu/robvis")` command again.
If you wish to use the older CRAN version of the package, use the following command:
```{r, eval=FALSE}
install.packages("robvis")
```
### Load data
To load your own data from a .csv file:```{r, eval=FALSE}
mydata <- read.csv("path/to/mydata.csv", header = TRUE)
```To help users explore `robvis`, we have included example datasets in the package, one for each of the tool templates that currently exist within the package. The `data_rob2` dataset ([view it here](https://github.com/mcguinlu/robvis/blob/master/data_raw/data_rob2.csv)), which contains example risk-of-bias assessments performed using the RoB2.0 tool for randomized controlled trials, is used to create the plots in subsequent sections.
### Create plots
The package contains two plotting functions:
#### 1. rob_summary()
Returns a ggplot object displaying a bar-chart of the risk of bias of included studies across the domains of the specified tool. [*Note: the defaults used in this function have changed from their original settings, so that a un-weighted barplot is now produced by default. See the NEWS.md file for further information.*]```{r, eval = FALSE}
summary_rob <- rob_summary(data = data_rob2, tool = "ROB2")summary_rob
`````` {r, echo = FALSE}
plot <- rob_summary(data = data_rob2, tool = "ROB2")
file = paste0("man/figures/robplot",fig_count,".png")
rob_save(plot, file)
fig_count <- fig_count + 1
```#### 2. rob_traffic_light()
Returns a ggplot object displaying a ["traffic light plot"](https://handbook-5-1.cochrane.org/chapter_8/figure_8_6_c_example_of_a_risk_of_bias_summary_figure.htm), displaying the risk of bias judgment in each domain for each study.```{r, eval=FALSE}
trafficlight_rob <- rob_traffic_light(data = data_rob2,
tool = "ROB2",
psize = 10)trafficlight_rob
`````` {r, echo = FALSE}
plot <- rob_traffic_light(data = data_rob2,
tool = "ROB2",
psize = 10)
file = paste0("man/figures/robplot",fig_count,".png")
rob_save(plot, file)
fig_count <- fig_count + 1
```### Other functions
#### rob_save()
Pass the `robvis` to this function, along with a destination file, to save your risk-of-bias plots using sensible defaults.```{r, eval = FALSE}
rob_save(trafficlight_rob, "rob_fig.png")
```#### rob_tools()
Outputs a list of the risk of bias assessment tools for which a template currently exists in rob_summary(). We expect this list to be updated in the near future to include tools such as ROBIS (tool for assessing risk of bias in systematic reviews).```{r}
rob_tools()
```## Advanced usage
### Change the colour scheme
The `colour` argument of both plotting functions allows users to select from two predefined colour schemes ("cochrane" or "colourblind") or to define their own palette by providing a vector of hex codes.For example, to use the predefined "colourblind" palette:
```{r, eval=FALSE}
rob_summary(data = data_rob2,
tool = "ROB2",
colour = "colourblind")```
``` {r, echo = FALSE}
plot <- rob_summary(data = data_rob2,
tool = "ROB2",
colour = "colourblind")
file = paste0("man/figures/robplot",fig_count,".png")
rob_save(plot, file)
fig_count <- fig_count + 1
```And to define your own colour scheme:
```{r, eval=FALSE}
rob_summary(
data = data_rob2,
tool = "ROB2",
colour = c("#f442c8",
"#bef441",
"#000000",
"#d16684")
)```
``` {r, echo = FALSE}
plot <- rob_summary(data = data_rob2,
tool = "ROB2",
colour = c("#f442c8",
"#bef441",
"#000000",
"#d16684"))
file = paste0("man/figures/robplot",fig_count,".png")
rob_save(plot, file)
fig_count <- fig_count + 1
```### No "Overall" judgement
By default, both functions include an "Overall" risk of bias domain. To prevent this, remove the overall column from your dataset and set `overall = FALSE`.
```{r, eval=FALSE}
summary_rob <- rob_summary(data = data_rob2[1:6], tool = "ROB2", overall = FALSE)
summary_rob
`````` {r, echo = FALSE}
plot <- rob_summary(data = data_rob2[1:6], tool = "ROB2", overall = FALSE)
file = paste0("man/figures/robplot",fig_count,".png")
rob_save(plot, file)
fig_count <- fig_count + 1
``````{r, eval=FALSE}
rob_traffic_light(data = data_rob2[1:6],
tool = "ROB2",
overall = FALSE)
`````` {r, echo = FALSE}
plot <- rob_traffic_light(data = data_rob2[1:6],
tool = "ROB2",
overall = FALSE)
file = paste0("man/figures/robplot",fig_count,".png")
rob_save(plot, file)
fig_count <- fig_count + 1
```### Editing the plots
Finally, because the output (`summary_rob` and `trafficlight_rob` in the examples above) is a ggplot2 object, it is easy to adjust the plot to your own preferences.For example, to add a title:
```{r, eval=FALSE}
library(ggplot2)rob_summary(data = data_rob2, tool = "ROB2") +
ggtitle("Summary of RoB 2.0 assessments")
`````` {r, echo = FALSE}
plot <- rob_summary(data = data_rob2, tool = "ROB2") +
ggplot2::ggtitle("Summary of RoB2.0 assessments")
file = paste0("man/figures/robplot",fig_count,".png")
rob_save(plot, file)
fig_count <- fig_count + 1
```## Examples of `robvis` in published papers
To date, `robvis` has been cited in more than 1500 academic articles - these can be explored [here](https://scholar.google.com/scholar?cites=12564214960529060925&as_sdt=2005&sciodt=0,5&hl=en).
## Code of conduct
Please note that the 'robvis' project is released with a
[Contributor Code of Conduct](https://github.com/mcguinlu/robvis/blob/master/CODE_OF_CONDUCT.md).
By contributing to this project, you agree to abide by its terms.## License
This project is licensed under the MIT License - see the [LICENSE.md](https://github.com/mcguinlu/robvis/blob/master/LICENSE) file for details.
## Acknowledgments
* The `rob_summary()` function was based on code forwarded by a colleague. I recently discovered that this code was adapted from that presented in the wonderful "[Doing Meta-Analysis in R](https://bookdown.org/MathiasHarrer/Doing_Meta_Analysis_in_R/plotting-the-summary.html)" guide, so I would like to acknowledge the authors here.
* [Emily Kothe](https://github.com/ekothe) for help in fixing `ggplot2` coding issues.
* [Eliza Grames](https://github.com/elizagrames) for creating the `robvis` hex sticker.