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)
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).
