Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/piersyork/owidr
An R Package for Importing Data from Our World in Data
https://github.com/piersyork/owidr
data data-visualisation economics r r-package
Last synced: 11 days ago
JSON representation
An R Package for Importing Data from Our World in Data
- Host: GitHub
- URL: https://github.com/piersyork/owidr
- Owner: piersyork
- License: other
- Created: 2021-06-28T18:06:02.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-02-29T12:50:58.000Z (8 months ago)
- Last Synced: 2024-04-14T05:17:39.907Z (7 months ago)
- Topics: data, data-visualisation, economics, r, r-package
- Language: R
- Homepage:
- Size: 2.66 MB
- Stars: 114
- Watchers: 4
- Forks: 12
- Open Issues: 2
-
Metadata Files:
- Readme: README.Rmd
- License: LICENSE
Awesome Lists containing this project
README
---
title: "owidR"
output: github_document
always_allow_html: true
---```{r, echo = FALSE, message=FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "##",
fig.path = "inst/images/", fig.width=8.5, fig.asp=0.55, fig.align='center',
message = FALSE
)library(ggplot2)
ggplot2::theme_set(
theme_minimal(base_family = "serif") %+replace%
theme(text = element_text(colour = "#373737", size = 18),
plot.title = element_text(size = "22", hjust = 0, vjust = 3.2, face = "bold"),
plot.subtitle = element_text(hjust = 0, vjust = 3.5),
plot.title.position = "plot",
plot.caption.position = "plot",
plot.caption = element_text(hjust = 0, size = 14, vjust = -1),
legend.position = "right",
axis.text = element_text(face = "plain"),
axis.title.x = element_blank(),
legend.title = element_blank(),
panel.grid.major = element_line(linetype = "dashed"),
panel.grid.minor = element_blank(),
plot.margin = margin(11, 15, 8, 0),
axis.line.x = element_line(colour = "#8e8e8e"),
axis.ticks = element_line(colour = "#8e8e8e"))
)```
![CRAN downloads](http://cranlogs.r-pkg.org/badges/grand-total/owidR) [![CRAN status](https://www.r-pkg.org/badges/version/owidR)](https://CRAN.R-project.org/package=owidR)
[![R-CMD-check](https://github.com/piersyork/owidR/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/piersyork/owidR/actions/workflows/R-CMD-check.yaml)This package acts as an interface to [Our World in Data](https://ourworldindata.org/) datasets, allowing for an easy way to search through data used in over 3,000 charts and load them into the R environment.
## Installation
To install from CRAN:
```{r eval=FALSE}
install.packages("owidR")
```To install the development version from GitHub:
```{r eval = FALSE}
devtools::install_github("piersyork/owidR")
```## Using the package
The main function in owidR is `owid()`, which takes a chart id and returns a data.table of the corresponding OWID dataset. To search for chart ids you can use `owid_search()` to list all the chart ids that match a keyword or regular expression.
## Example
Lets use the core functions to get data on how human rights have changed over time. First by searching for charts on human rights.
```{r example, eval = TRUE, message = FALSE}
library(owidR)owid_search("human rights")
```
Let's use the v-dem human rights index dataset.
```{r example2, eval = TRUE, message = FALSE}
rights <- owid("human-rights-index-vdem")
rights
```
ggplot2 makes it easy to visualise our data.
```{r plot}
library(ggplot2)
library(dplyr)rights |>
filter(entity %in% c("United Kingdom", "France", "United States")) |>
ggplot(aes(year, civ_libs_vdem_owid, colour = entity)) +
geom_line()
```## COVID-19 Data
You can quickly download world covid-19 data, including vaccination rates, using `owid_covid()`.
```{r covid}
covid <- owid_covid()str(covid)
```## To-do
- [ ] Add function to load multiple country datasets into one dataframe
- [ ] Add caching of data (inc. backend)
- [x] Remove interactive plotting to reduce dependencies
- [ ] Create way to import owid explorers