MyNixOS website logo
Description

Granger Causality Testing for Time Series.

Performs Granger causality tests on pairs of time series to determine causal relationships. Uses Vector Autoregressive (VAR) models to test whether one time series helps predict another beyond what the series' own past values provide. Returns structured results including p-values, test statistics, and causality conclusions for both directions.

grangersearch grangersearch logo

An R package for exhaustive Granger causality testing with tidyverse integration.

Overview

grangersearch provides a simple interface for performing Granger causality tests on time series data. The package wraps the vars infrastructure while providing a streamlined interface for exploratory causal analysis.

Key features include:

  • Exhaustive pairwise search: Automatically discover Granger-causal relationships across multiple variables
  • Automatic lag optimization: Systematic evaluation of multiple lag orders with visualization
  • Tidyverse compatibility: Pipe operators (|>, %>%) and non-standard evaluation
  • Broom integration: tidy() and glance() methods for structured output
  • Visualization: Built-in plotting for causality matrices and lag selection analysis

Installation

Install from GitHub:

# install.packages("remotes")
remotes::install_github("nkorf/grangersearch")

Quick Start

library(grangersearch)

# Basic pairwise test
data(Canada, package = "vars")
result <- Canada |> granger_causality_test(e, U, lag = 2)
print(result)

# Get tidy results
tidy(result)

# Exhaustive search across multiple variables
search_results <- Canada |> granger_search(lag = 2)
plot(search_results)  # Causality matrix visualization

# Lag selection analysis
lag_analysis <- Canada |> granger_lag_select(e, U, lag = 1:8)
plot(lag_analysis)

Main Functions

FunctionDescription
granger_causality_test()Test Granger causality between two time series
granger_search()Exhaustive pairwise search across multiple variables
granger_lag_select()Analyze results across different lag orders
tidy() / glance()Broom-style tidying of results

Example Output

Granger Causality Test
======================

Observations: 84, Lag order: 2, Significance level: 0.050

e -> U: e Granger-causes U (p = 0.0000)
U -> e: U does not Granger-cause e (p = 0.2983)

Citation

If you use this package, please cite:

Korfiatis, N. (2025). grangersearch: An R Package for Exhaustive Granger Causality Testing with Tidyverse Integration. arXiv preprint. https://arxiv.org/abs/XXXX.XXXXX

Author

Nikolaos Korfiatis Department of Informatics, Ionian University Corfu, Greece [email protected]

License

MIT.

Metadata

Version

0.1.0

License

Unknown

Platforms (78)

    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
  • 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
  • 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