Struct DataRowBuilder
pub struct DataRowBuilder { /* private fields */ }Expand description
Fluent builder for DataRow.
Use DataRowBuilder when you have row-shaped data in memory and want to
construct rows incrementally before calling DataRow::into_events or
[build_data].
§Example
use pharmsol::data::parser::DataRow;
use pharmsol::data::Censor;
let row = DataRow::builder("patient_001", 1.5)
.evid(0)
.out(25.5)
.outeq("cp")
.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: impl ToString) -> DataRowBuilder
pub fn input(self, input: impl ToString) -> DataRowBuilder
Set the input route label.
Required for EVID=1 dosing rows. The provided value is preserved as the public label until downstream model resolution.
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: impl ToString) -> DataRowBuilder
pub fn outeq(self, outeq: impl ToString) -> DataRowBuilder
Set the output label.
Required for EVID=0 observation rows. The provided value is preserved as the public label until downstream model resolution.
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
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
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 UnsafeUnpin 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
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>
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>
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>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
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
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.