Struct DataRowBuilder
pub struct DataRowBuilder { /* private fields */ }Expand description
Builder for constructing DataRow with a fluent API
§Example
use pharmsol::data::parser::DataRow;
use pharmsol::data::Censor;
let row = DataRow::builder("patient_001", 1.5)
.evid(0)
.out(25.5)
.outeq(1)
.cens(Censor::None)
.covariate("weight", 70.0)
.covariate("age", 45.0)
.build();Implementations§
§impl DataRowBuilder
impl DataRowBuilder
pub fn new(id: impl Into<String>, time: f64) -> DataRowBuilder
pub fn new(id: impl Into<String>, time: f64) -> DataRowBuilder
pub fn evid(self, evid: i32) -> DataRowBuilder
pub fn evid(self, evid: i32) -> DataRowBuilder
pub fn dose(self, dose: f64) -> DataRowBuilder
pub fn dose(self, dose: f64) -> DataRowBuilder
Set the dose amount
Required for EVID=1 (dosing events).
pub fn dur(self, dur: f64) -> DataRowBuilder
pub fn dur(self, dur: f64) -> DataRowBuilder
Set the infusion duration
If > 0, the dose is treated as an infusion rather than a bolus.
pub fn addl(self, addl: i64) -> DataRowBuilder
pub fn addl(self, addl: i64) -> DataRowBuilder
Set the additional doses count
§Arguments
addl- Number of additional doses- Positive: doses placed after the base time
- Negative: doses placed before the base time
pub fn ii(self, ii: f64) -> DataRowBuilder
pub fn ii(self, ii: f64) -> DataRowBuilder
Set the interdose interval
Used with ADDL to specify time between additional doses.
pub fn input(self, input: usize) -> DataRowBuilder
pub fn input(self, input: usize) -> DataRowBuilder
Set the input compartment (1-indexed)
Required for EVID=1 (dosing events). Kept as 1-indexed; user must size state arrays accordingly.
pub fn out(self, out: f64) -> DataRowBuilder
pub fn out(self, out: f64) -> DataRowBuilder
Set the observed value
Used for EVID=0 (observation events).
pub fn outeq(self, outeq: usize) -> DataRowBuilder
pub fn outeq(self, outeq: usize) -> DataRowBuilder
Set the output equation (1-indexed)
Required for EVID=0 (observation events). Will be converted to 0-indexed internally.
pub fn cens(self, cens: Censor) -> DataRowBuilder
pub fn cens(self, cens: Censor) -> DataRowBuilder
Set the censoring type
pub fn error_poly(self, c0: f64, c1: f64, c2: f64, c3: f64) -> DataRowBuilder
pub fn error_poly(self, c0: f64, c1: f64, c2: f64, c3: f64) -> DataRowBuilder
Set error polynomial coefficients
The error polynomial models observation error as: SD = c0 + c1Y + c2Y² + c3*Y³
Trait Implementations§
§impl Clone for DataRowBuilder
impl Clone for DataRowBuilder
§fn clone(&self) -> DataRowBuilder
fn clone(&self) -> DataRowBuilder
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for DataRowBuilder
impl RefUnwindSafe for DataRowBuilder
impl Send for DataRowBuilder
impl Sync for DataRowBuilder
impl Unpin for DataRowBuilder
impl UnwindSafe for DataRowBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.