Author: Stefan Angrick
Date: 2025-01-02

# BOJ

#### Stefan Angrick

#### 2025-01-02

The `BOJ` package provides an `R` interface to Bank of Japan statistics, specifically the flat files available on the BOJ Time-Series Data portal.

## Installing the package

You can install the package from CRAN or GitHub.

    library(devtools)
    install_github("stefanangrick/BOJ")  # GitHub
    install.packages("BOJ")              # CRAN

## Example usage

To start using the package, load it into your R session.

    library("BOJ")

Next, retrieve a list of available data sets using the `get_boj_datasets()` function.

    ds <- get_boj_datasets()
    head(ds)

The `get_boj_datasets()` function returns a tibble data frame listing available data sets. Use the `url` column as input for the `get_boj()` function to download, parse, and import the corresponding data set.

For example, to import monthly-frequency data on Japan’s Services Producer Price Index, use the following code:

    sppi <- get_boj(ds$url[(ds$name == "sppi_m_en")])
    head(sppi)

To plot the data with ggplot2, run the following:

    library("dplyr")
    library("ggplot2")
    library("zoo")

    sppi_plot <- subset(sppi, code %in% c("PRCS20_5200000000", "PRCS20_5200010001",
                                          "PRCS20_5200010002", "PRCS20_5200010003",
                                          "PRCS20_5200010004", "PRCS20_5200010005",
                                          "PRCS20_5200010006", "PRCS20_5200010007"))
    sppi_plot <- mutate(sppi_plot, date = as.Date(as.yearmon(date, format = "%Y%m")))
    sppi_plot <- mutate(sppi_plot, struc = gsub("^Major group/ ", "", struc))
    sppi_plot <- subset(sppi_plot, !is.na(obs_value))

    ggplot(sppi_plot, aes(x = date, y = obs_value)) +
      geom_line(aes(colour = struc)) +
      labs(title = "Services Producer Price Index", x = "Date", y = "Index") +
      theme(legend.title = element_blank())

Note that BOJ data sets use various time formats. The zoo package (e.g., `as.yearmon()`) can handle most of these formats.

## Retrieving individual data series

To retrieve individual data series instead of full data sets, consider using the BOJfame package.

## Note

This package is neither officially related to nor endorsed by the Bank of Japan. Please avoid overloading the BOJ servers with unnecessary requests.