data.cube icon indicating copy to clipboard operation
data.cube copied to clipboard

OLAP cubes R data type

data.cube Build Status

In-memory OLAP cubes R data type. Uses high performance C-implemented data.table R package.

Features

  • [x] scalable multidimensional hierarchical array alternative
  • [x] uses data.table under the hood
  • [x] use base R array query API
    • [x] [.data.cube uses base R [.array method API for slice and dice of dimension keys
  • [x] extends base R array query API
    • [x] slice and dice on dimension attributes of various levels in hierarchy with .(time_year = 2011:2013)
    • [x] aggregate by collapse dimensions with `-`(), also with pre-filtering
    • [ ] rollup and cube over provided groupings with `+`() for rollup and `^`() for cube
  • [x] apply.data.cube uses base R apply like API
  • [ ] rollup for data.cube
    • [ ] bind grouping dimension to retain cube normalization and avoid double counting
  • [x] for pivot use format/as.data.table with dcast.data.table API
  • [x] direct access to data.cube child classes and attributes
  • [ ] query optimization
  • [ ] works on sharded distributed engine using big.data.table

Installation

install.packages("data.cube", repos = paste0("https://", c(
    "jangorecki.gitlab.io/data.cube",
    "cloud.r-project.org"
)))

Usage

Read manual and check Subset and aggregate multidimensional data with data.cube vignette.

Contact

[email protected]