MyNixOS website logo
Description

Easily Tidy Gapminder Datasets.

A toolset that allows you to easily import and tidy data sheets retrieved from Gapminder data web tools. It will therefore contribute to reduce the time used in data cleaning of Gapminder indicator data sheets as they are very messy.

tidygapminder

R-CMD-check test-coverage codecov CRAN status CRAN downloads Project Status: Active


Gapminder data, minus the mess.

Gapminder is a goldmine of global development data — life expectancy, income, CO₂ emissions, literacy rates, and hundreds more indicators spanning centuries. The catch? Every sheet looks like this:

life expectancy years | 1800 | 1801 | 1802 | ...
----------------------|------|------|------|----
Afghanistan           | 28.2 | 28.2 | 28.2 | ...
Albania               | 35.4 | 35.4 | 35.4 | ...
...

Countries as rows, years as columns, the indicator name hiding in cell A1. Great for a spreadsheet. Terrible for R.

tidygapminder fixes that in one function call.

Installation

# From CRAN
install.packages("tidygapminder")

# Development version
pak::pak("ebedthan/tidygapminder")

Two functions. That's it.

tidy_index(): one file at a time

Point it at a Gapminder .csv, .xlsx, or .xls file and get back a clean tibble:

library(tidygapminder)

csv_path <- system.file("extdata/life_expectancy_years.csv", package = "tidygapminder")

tidy_index(csv_path)

Three columns: country, year, and the indicator, ready to filter, plot, or model.

tidy_bunch(): a whole folder at once

Downloaded ten indicators? No problem. Point tidy_bunch() at the folder:

dir_path <- system.file("extdata", package = "tidygapminder")

# Returns a named list of tibbles, one per file
result <- tidy_bunch(dir_path)
names(result)

Want everything in one data frame joined by country and year?

tidy_bunch(dir_path, combine = TRUE)

Why tidygapminder?

  • Zero friction: no arguments to learn beyond a file path
  • Handles the quirks: indicator name in cell A1, non-numeric year columns, mixed file formats: all taken care of
  • Lightweight: only two dependencies (readxl and tibble)
  • Informative errors: tells you exactly what went wrong and where

Getting help

Metadata

Version

1.0.0

License

Unknown

Platforms (80)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arc-linux
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • sh4-linux
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows