#[non_exhaustive]pub struct IdentifiedEstimand {
pub method: Arc<str>,
pub adjustment_set: Arc<[VariableId]>,
pub instruments: Arc<[VariableId]>,
pub mediators: Arc<[VariableId]>,
pub functional: ExprId,
pub rd_design: Option<RdDesignParams>,
}Expand description
One identified estimand.
Backdoor estimands use Self::adjustment_set; IV estimands populate
Self::instruments; front-door estimands populate Self::mediators.
Sharp RD estimands populate Self::rd_design. Unused role slices are empty.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.method: Arc<str>Method tag (wire string; parse with Self::method_kind).
adjustment_set: Arc<[VariableId]>Adjustment set (dense variable ids). Empty when not an adjustment estimand.
instruments: Arc<[VariableId]>Instrument variables (dense ids). Empty unless IV.
mediators: Arc<[VariableId]>Mediator variables for front-door / two-stage. Empty unless front-door.
functional: ExprIdFunctional expression id in arena.
rd_design: Option<RdDesignParams>Sharp RD design parameters (when method is rd.sharp).
Implementations§
Source§impl IdentifiedEstimand
impl IdentifiedEstimand
Sourcepub fn new(
method: impl Into<Arc<str>>,
adjustment_set: Arc<[VariableId]>,
instruments: Arc<[VariableId]>,
mediators: Arc<[VariableId]>,
functional: ExprId,
rd_design: Option<RdDesignParams>,
) -> Self
pub fn new( method: impl Into<Arc<str>>, adjustment_set: Arc<[VariableId]>, instruments: Arc<[VariableId]>, mediators: Arc<[VariableId]>, functional: ExprId, rd_design: Option<RdDesignParams>, ) -> Self
Full constructor (required outside this crate because the type is #[non_exhaustive]).
Sourcepub fn method_kind(&self) -> Result<EstimandMethod, String>
pub fn method_kind(&self) -> Result<EstimandMethod, String>
Sourcepub fn backdoor(
method: impl Into<Arc<str>>,
adjustment_set: Arc<[VariableId]>,
functional: ExprId,
) -> Self
pub fn backdoor( method: impl Into<Arc<str>>, adjustment_set: Arc<[VariableId]>, functional: ExprId, ) -> Self
Backdoor-style estimand with an adjustment set and empty IV/mediator roles.
Sourcepub fn instrumental(
method: impl Into<Arc<str>>,
instruments: Arc<[VariableId]>,
functional: ExprId,
) -> Self
pub fn instrumental( method: impl Into<Arc<str>>, instruments: Arc<[VariableId]>, functional: ExprId, ) -> Self
IV estimand with instruments and empty adjustment/mediators.
Sourcepub fn frontdoor(
method: impl Into<Arc<str>>,
mediators: Arc<[VariableId]>,
functional: ExprId,
) -> Self
pub fn frontdoor( method: impl Into<Arc<str>>, mediators: Arc<[VariableId]>, functional: ExprId, ) -> Self
Front-door estimand with mediators and empty adjustment/instruments.
Sourcepub fn rd_sharp(functional: ExprId, design: RdDesignParams) -> Self
pub fn rd_sharp(functional: ExprId, design: RdDesignParams) -> Self
Sharp regression-discontinuity estimand (not backdoor-shaped).
Sourcepub fn temporal_mediation(
method: impl Into<Arc<str>>,
mediators: Arc<[VariableId]>,
functional: ExprId,
) -> Self
pub fn temporal_mediation( method: impl Into<Arc<str>>, mediators: Arc<[VariableId]>, functional: ExprId, ) -> Self
Temporal mediation estimand (mediators + temporal_mediation.* method tag).
Trait Implementations§
Source§impl Clone for IdentifiedEstimand
impl Clone for IdentifiedEstimand
Source§fn clone(&self) -> IdentifiedEstimand
fn clone(&self) -> IdentifiedEstimand
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more