Struct linregress::RegressionDataBuilder
source · pub struct RegressionDataBuilder { /* private fields */ }
Expand description
A builder to create a RegressionData struct for use with a FormulaRegressionBuilder
.
Implementations§
source§impl RegressionDataBuilder
impl RegressionDataBuilder
sourcepub fn new() -> Self
pub fn new() -> Self
Create a new RegressionDataBuilder
.
sourcepub fn invalid_value_handling(self, setting: InvalidValueHandling) -> Self
pub fn invalid_value_handling(self, setting: InvalidValueHandling) -> Self
Configure how to handle non real f64
values (NaN or infinity or negative infinity) using
a variant of the InvalidValueHandling
enum.
The default value is ReturnError
.
Example
use linregress::{InvalidValueHandling, RegressionDataBuilder};
let builder = RegressionDataBuilder::new();
let builder = builder.invalid_value_handling(InvalidValueHandling::DropInvalid);
sourcepub fn build_from<'a, I, S>(self, data: I) -> Result<RegressionData<'a>, Error>where
I: IntoIterator<Item = (S, Vec<f64>)>,
S: Into<Cow<'a, str>>,
pub fn build_from<'a, I, S>(self, data: I) -> Result<RegressionData<'a>, Error>where I: IntoIterator<Item = (S, Vec<f64>)>, S: Into<Cow<'a, str>>,
Build a RegressionData
struct from the given data.
Any type that implements the IntoIterator
trait can be used for the data.
This could for example be a Hashmap
or a Vec
.
The iterator must consist of tupels of the form (S, Vec<f64>)
where
S
is a type that implements Into<Cow<str>>
, such as String
or str
.
You can think of this format as the representation of a table of data where
each tuple (S, Vec<f64>)
represents a column. The S
is the header or label of the
column and the Vec<f64>
contains the data of the column.
Because ~
and +
are used as separators in the formula they may not be used in the name
of a data column.
Example
use std::collections::HashMap;
use linregress::RegressionDataBuilder;
let mut data1 = HashMap::new();
data1.insert("Y", vec![1., 2., 3., 4.]);
data1.insert("X", vec![4., 3., 2., 1.]);
let regression_data1 = RegressionDataBuilder::new().build_from(data1)?;
let y = vec![1., 2., 3., 4.];
let x = vec![4., 3., 2., 1.];
let data2 = vec![("X", x), ("Y", y)];
let regression_data2 = RegressionDataBuilder::new().build_from(data2)?;
Trait Implementations§
source§impl Clone for RegressionDataBuilder
impl Clone for RegressionDataBuilder
source§fn clone(&self) -> RegressionDataBuilder
fn clone(&self) -> RegressionDataBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for RegressionDataBuilder
impl Debug for RegressionDataBuilder
source§impl Default for RegressionDataBuilder
impl Default for RegressionDataBuilder
source§fn default() -> RegressionDataBuilder
fn default() -> RegressionDataBuilder
impl Copy for RegressionDataBuilder
Auto Trait Implementations§
impl RefUnwindSafe for RegressionDataBuilder
impl Send for RegressionDataBuilder
impl Sync for RegressionDataBuilder
impl Unpin for RegressionDataBuilder
impl UnwindSafe for RegressionDataBuilder
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<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read moresource§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).source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.