Skip to contents

Splits subjects into chunks sized to fit in available RAM, solves each chunk, and writes output to parquet (or rds) files. Returns an rxSolveOom object that lazily reads chunks on demand.

Usage

rxSolveChunked(
  object,
  params = NULL,
  events = NULL,
  inits = NULL,
  ...,
  chunkSize,
  seed = NULL,
  parallel = 0L
)

Arguments

object

rxode2 model

params

model parameters

events

event table or rxEtFile

inits

initial conditions

...

additional arguments passed to rxControl()

chunkSize

number of subjects per chunk (auto-computed from free RAM if omitted)

seed

random seed (sets before solving if not NULL)

parallel

number of mirai daemons for parallel chunk solving (0 = serial)

Value

An rxSolveOom object

Details

The storage/query engine used by the resulting rxSolveOom object is controlled by the rxode2.oom.backend option:

"auto"

(default) DuckDB if installed, else arrow, else rds.

"duckdb"

lazy DuckDB SQL queries over arrow-written parquet.

"arrow"

arrow parquet reads/writes, no DuckDB.

"rds"

plain rds files, no arrow or DuckDB.

A requested engine that is not installed silently degrades (duckdb \(\to\) arrow \(\to\) rds).