Skip to contents

Performs Ridit analysis (Relative to an Identified Distribution unit) for comparing two groups on an ordinal scale. Every subject's category \(k\) is converted to a ridit score — its relative rank position within the reference distribution's empirical CDF: \(r_k = F_{\mathrm{ref}}(k{-}1) + \tfrac12 f_{\mathrm{ref}}(k)\), where \(F_{\mathrm{ref}}\) and \(f_{\mathrm{ref}}\) are the reference group's empirical cumulative and point probabilities. The reference distribution — controlled by the reference constructor argument — may be the control arm (default), the treatment arm, or the pooled sample. The treatment effect is oriented as treated-versus-control stochastic superiority: with a control or pooled reference it is the treated mean ridit minus \(0.5\); with a treatment reference it is \(0.5\) minus the control mean ridit. The latter orientation is essential because the reference group's own mean ridit is \(0.5\) by construction. For a two-arm sample, the control- and treatment-reference formulas are the same empirical Mann-Whitney contrast, while retaining the requested group's scores for inspection. The mean ridit has a direct interpretation as (an estimate of) the probability that a randomly selected treated subject's outcome exceeds a randomly selected control subject's outcome (a Mann-Whitney-type stochastic superiority probability), similar in spirit to InferenceOrdinalJonckheereTerpstraTest's superiority measure but referenced against a chosen distribution rather than always symmetric between the two arms. Standard errors and p-values come from fast_ridit_analysis_cpp's asymptotic formula, not a resampling approximation.

References

Bross, I. D. J. (1958). "How to Use Ridit Analysis." Biometrics, 14(1), 18-38, doi:10.2307/2527727 , for the ridit transformation and its interpretation used here.

Super class

Inference -> InferenceOrdinalRidit

Methods

+ inherited public methods from Inference


InferenceOrdinalRidit$new()

Uses the shared randomization two-sided p-value contract; see InferenceRand.

Initialize a Ridit analysis inference object for a completed design with an ordinal, uncensored response.

Usage

InferenceOrdinalRidit$new(
  des_obj,
  model_formula = NULL,
  reference = "control",
  verbose = FALSE,
  max_resample_attempts = 50L
)

Arguments

des_obj

A DesignSeqOneByOne object whose entire n subjects are assigned and response y is recorded within.

model_formula

Optional formula for covariate adjustment. If NULL (default), the formula from the design object is used and its pre-computed design matrix is reused. If a formula is provided, a new design matrix is constructed from the design's imputed covariates.

reference

The group to use as the "Identified Distribution" when constructing ridit scores. Must be one of "control", "treatment", or "pooled". The reported contrast is always oriented so positive values mean higher treated outcomes: treated mean minus 0.5 for control/pooled, and 0.5 minus control mean for treatment. Default is "control".

verbose

A flag indicating whether messages should be displayed.

max_resample_attempts

Maximum number of times a single bootstrap replicate may be redrawn when the drawn sample fails validity screening. If all attempts fail the replicate is recorded as NA, silently reducing the effective B. Must be a positive integer. Default 50L.


InferenceOrdinalRidit$compute_estimate()

Returns the estimated treated-versus-control stochastic superiority contrast. This is treated mean ridit minus 0.5 for a control/pooled reference and 0.5 minus control mean ridit for a treatment reference (see class documentation).

Usage

InferenceOrdinalRidit$compute_estimate(estimate_only = FALSE)

Arguments

estimate_only

If TRUE, skip variance component calculations.

Returns

The numeric estimate.


InferenceOrdinalRidit$compute_estimate_with_bootstrap_weights()

Recomputes the ridit treatment estimate under subject/block bootstrap weights: the reference distribution's category proportions and every subject's ridit score are recomputed using the weights, then the oriented weighted ridit contrast is returned. Used by the Bayesian bootstrap and related weighted-resampling machinery. Always leaves the standard error and degrees of freedom unavailable (NA) regardless of estimate_only — this weighted path never computes the asymptotic variance.

Usage

InferenceOrdinalRidit$compute_estimate_with_bootstrap_weights(
  subject_or_block_weights,
  estimate_only = FALSE
)

Arguments

subject_or_block_weights

Subject-, block-, cluster-, or matched-set bootstrap weights.

estimate_only

Present for interface parity; this method never computes variance components regardless of its value.


InferenceOrdinalRidit$get_mean_ridit_treatment()

Returns the mean ridit score among treated subjects (not centered). With a treatment reference this is 0.5 by construction; $compute_estimate() therefore uses the control mean instead.

Usage

InferenceOrdinalRidit$get_mean_ridit_treatment()

Returns

The numeric Mean Ridit.


InferenceOrdinalRidit$get_ridit_scores()

Returns each subject's individual ridit score (see class documentation for the ridit-score formula), in subject order.

Usage

InferenceOrdinalRidit$get_ridit_scores()

Returns

A numeric vector of scores.


InferenceOrdinalRidit$compute_asymp_confidence_interval()

Computes the asymptotic confidence interval for the oriented ridit treatment effect, using fast_ridit_analysis_cpp's asymptotic standard error.

Usage

InferenceOrdinalRidit$compute_asymp_confidence_interval(alpha = 0.05)

Arguments

alpha

Significance level.

Returns

A numeric vector of length 2.


InferenceOrdinalRidit$compute_asymp_two_sided_pval()

Computes a two-sided Wald p-value for the oriented ridit contrast (i.e. delta = 0 tests the null of no group difference), using fast_ridit_analysis_cpp's asymptotic standard error.

Usage

InferenceOrdinalRidit$compute_asymp_two_sided_pval(delta = 0)

Arguments

delta

The null value (centered at 0, so delta=0 means Ridit=0.5).

Returns

The p-value.


InferenceOrdinalRidit$clone()

The objects of this class are cloneable with this method.

Usage

InferenceOrdinalRidit$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

set.seed(1)
x_dat <- data.frame(
  x1 = c(-1.2, -0.7, -0.2, 0.3, 0.8, 1.3, 1.8, 2.3),
  x2 = c(0, 1, 0, 1, 0, 1, 0, 1)
)
seq_des <- DesignSeqOneByOneBernoulli$new(n = nrow(x_dat), response_type = "ordinal",
  verbose = FALSE)
for (i in seq_len(nrow(x_dat))) {
  seq_des$add_one_subject_to_experiment_and_assign(x_dat[i, , drop = FALSE])
}
seq_des$add_all_subject_responses(as.integer(c(1, 2, 2, 3, 3, 4, 4, 5)))
infer <- InferenceOrdinalRidit$
  new(seq_des, verbose = FALSE)
infer
#> <InferenceOrdinalRidit>
#>   Inherits from: <Inference>
#>   Public:
#>     approximate_bayesian_bootstrap_distribution_beta_hat_T: function (...) 
#>     approximate_bootstrap_distribution_beta_hat_T: function (...) 
#>     approximate_jackknife_distribution_beta_hat_T: function (unit = "auto") 
#>     approximate_m_out_of_n_bootstrap_distribution_beta_hat_T: function (...) 
#>     approximate_rand_bootstrap_distribution_beta_hat_T: function (...) 
#>     approximate_randomization_distribution_beta_hat_T: function (r = 501, delta = 0, transform_responses = "none", show_progress = TRUE, 
#>     approximate_subsampling_distribution_beta_hat_T: function (...) 
#>     capabilities: function () 
#>     clone: function (deep = FALSE) 
#>     compute_asymp_confidence_interval: function (alpha = 0.05) 
#>     compute_asymp_two_sided_pval: function (delta = 0) 
#>     compute_bayesian_bootstrap_confidence_interval: function (...) 
#>     compute_bayesian_bootstrap_two_sided_pval: function (...) 
#>     compute_bootstrap_confidence_interval: function (...) 
#>     compute_bootstrap_two_sided_pval: function (...) 
#>     compute_estimate: function (estimate_only = FALSE) 
#>     compute_estimate_with_bootstrap_weights: function (...) 
#>     compute_exact_confidence_interval: function (...) 
#>     compute_exact_two_sided_pval_for_treatment_effect: function (...) 
#>     compute_jackknife_bias_estimate: function (unit = "auto") 
#>     compute_jackknife_estimate: function (unit = "auto") 
#>     compute_jackknife_std_error: function (unit = "auto") 
#>     compute_jackknife_wald_confidence_interval: function (alpha = 0.05, unit = "auto") 
#>     compute_jackknife_wald_two_sided_pval: function (delta = 0, unit = "auto") 
#>     compute_m_out_of_n_bootstrap_confidence_interval: function (...) 
#>     compute_m_out_of_n_bootstrap_two_sided_pval: function (...) 
#>     compute_rand_bootstrap_confidence_interval: function (...) 
#>     compute_rand_bootstrap_two_sided_pval: function (...) 
#>     compute_rand_confidence_interval: function (alpha = 0.05, r = 501, pval_epsilon = 0.005, show_progress = TRUE, 
#>     compute_rand_two_sided_pval: function (r = 501, delta = 0, transform_responses = "none", na.rm = TRUE, 
#>     compute_subsampling_confidence_interval: function (...) 
#>     compute_subsampling_sensitivity: function (...) 
#>     compute_subsampling_two_sided_pval: function (...) 
#>     compute_wald_confidence_interval: function (alpha = 0.05) 
#>     compute_wald_two_sided_pval: function (delta = 0) 
#>     duplicate: function (verbose = FALSE, make_fork_cluster = FALSE) 
#>     get_analysis_data: function () 
#>     get_covariates: function () 
#>     get_design_object: function () 
#>     get_mean_ridit_treatment: function () 
#>     get_mod: function () 
#>     get_model_formula: function () 
#>     get_nonestimable_reason: function () 
#>     get_nonestimable_stage: function () 
#>     get_optimization_alg: function () 
#>     get_response: function () 
#>     get_response_type: function () 
#>     get_ridit_scores: function () 
#>     get_summary: function () 
#>     get_supported_bayesian_bootstrap_ci_types: function (...) 
#>     get_supported_bayesian_bootstrap_pval_types: function (...) 
#>     get_supported_bootstrap_ci_types: function (...) 
#>     get_supported_bootstrap_pval_types: function (...) 
#>     get_supported_rand_bootstrap_ci_types: function (...) 
#>     get_supported_rand_bootstrap_pval_types: function (...) 
#>     get_supported_testing_types: function () 
#>     get_treatment: function () 
#>     initialize: function (des_obj, model_formula = NULL, reference = "control", 
#>     is_nonestimable: function (type = c("any", "estimate", "se")) 
#>     num_cores: active binding
#>     select_optimal_b_subsampling: function (...) 
#>     select_optimal_m_out_of_n_bootstrap: function (...) 
#>     set_optimization_alg: function (optimization_alg = NULL, allow_irls = private$optimization_alg_allow_irls, 
#>     set_seed: function (seed) 
#>     set_testing_type: function (testing_type = "wald") 
#>     supports: function (capability) 
#>     supports_rand_pval_for_incidence: function () 
#>   Private:
#>     X: -1.2 -0.7 -0.2 0.3 0.8 1.3 1.8 2.3 0 1 0 1 0 1 0 1
#>     active_resampling_operation: NULL
#>     add_rand_bootstrap_smooth_noise: function (...) 
#>     allocate_resampling_sizes_by_stratum: function (...) 
#>     any_censoring: FALSE
#>     approximate_bayesian_bootstrap_statistics_beta_hat_T: function (...) 
#>     approximate_bayesian_jackknife_distribution_beta_hat_T: function (...) 
#>     approximate_bootstrap_statistics_beta_hat_T: function (...) 
#>     approximate_jackknife_distribution_beta_hat_T_private: function (...) 
#>     approximate_m_out_of_n_bootstrap_distribution_beta_hat_T_impl: function (...) 
#>     approximate_subsampling_distribution_beta_hat_T_impl: function (...) 
#>     assert_design_supports_randomization_draw: function (method_family) 
#>     assert_design_supports_resampling: function (method_family) 
#>     assert_design_supports_resampling_replay: function (method_family) 
#>     assert_exact_inference_params: function (type, args_for_type) 
#>     assert_jackknife_supported: function (unit = "auto") 
#>     assert_no_incidence_only_randomization_args: function (resp_type, type, args_for_type) 
#>     assert_valid_bootstrap_type: function (...) 
#>     bayesian_bootstrap_cache_key: function (...) 
#>     bayesian_bootstrap_ci_types: NULL
#>     bayesian_bootstrap_pval_types: NULL
#>     bayesian_bootstrap_sample_weight_draws: function (...) 
#>     bayesian_bootstrap_sample_weights: function (...) 
#>     bca_ci_core: function (...) 
#>     bca_pval_core: function (...) 
#>     begin_rand_worker_reuse_session: function () 
#>     boot_distr_cache: NULL
#>     bootstrap_ci_types: NULL
#>     bootstrap_confidence_interval_extreme: function (...) 
#>     bootstrap_estimates_extreme: function (...) 
#>     bootstrap_extreme_ci_width_threshold: NULL
#>     bootstrap_extreme_estimate_threshold: NULL
#>     bootstrap_pval_types: NULL
#>     bootstrap_replication_stats: function (...) 
#>     bootstrap_sample_indices: function (...) 
#>     bootstrap_subset_inference: function (...) 
#>     brt_mc_control: NULL
#>     build_bayesian_bootstrap_context: function (...) 
#>     build_fast_randomization_worker_cache: function (prev_cache = NULL, preserve_cache_keys = character()) 
#>     build_jackknife_deletion_draws: function (...) 
#>     build_randomization_ci_search_bounds: function (inf_obj, r, alpha, transform_arg, permutations, ci_search_control, 
#>     build_randomization_distribution_cache_key: function (r, delta, transform_responses, permutations) 
#>     build_resampling_draw_from_units: function (...) 
#>     cache_additive_delta_shift_distribution: function (t0s, r, delta, transform_responses, permutations) 
#>     cache_nonestimable_estimate: function (reason = "not_estimable") 
#>     cache_nonestimable_se: function (reason = "standard_error_unavailable") 
#>     cached_X_full_for_reduced: NULL
#>     cached_design_matrix: NULL
#>     cached_harden_for_design_matrix: NULL
#>     cached_hardened_X_cov: NULL
#>     cached_j_treat_for_reduced: NULL
#>     cached_keep_for_reduced: NULL
#>     cached_reduced_X: NULL
#>     cached_values: list
#>     cached_vc_params: NULL
#>     cached_w_for_design_matrix: NULL
#>     check_bootstrap_replicate_deadline: function (...) 
#>     check_rand_bootstrap_ci_deadline: function (...) 
#>     check_randomization_ci_deadline: function (ci_search_control = NULL, label = "Randomization CI bisection") 
#>     ci_bayesian_bca: function (...) 
#>     ci_bca: function (...) 
#>     ci_calibrated_bootstrap: function (...) 
#>     ci_from_boot_distribution: function (...) 
#>     ci_smoothed_bootstrap: function (...) 
#>     ci_studentized: function (...) 
#>     ci_symmetric_studentized: function (...) 
#>     clear_fit_warm_start: function () 
#>     clear_likelihood_null_warm_cache: function () 
#>     clear_likelihood_test_eval_cache: function () 
#>     clear_nonestimable_state: function () 
#>     closed_form_ci_from_affine_null_draws: function (...) 
#>     compute_additive_delta_shift_slopes: function (permutations, t0s = NULL) 
#>     compute_bayesian_bootstrap_distribution_with_reused_workers: function (...) 
#>     compute_bayesian_bootstrap_worker_estimate: function (...) 
#>     compute_bootstrap_distribution_with_reused_workers: function (...) 
#>     compute_bootstrap_worker_estimate: function (worker_state) 
#>     compute_bootstrap_worker_estimate_via_compute_treatment_estimate: function (...) 
#>     compute_brt_null_statistics_with_reused_workers: function (...) 
#>     compute_brt_null_statistics_with_se: function (...) 
#>     compute_ci_by_inverting_the_randomization_test_iteratively: function (r, l, u, pval_th, tol, transform_responses, lower, 
#>     compute_exact_confidence_interval_rand: function (type, alpha, args_for_type) 
#>     compute_exact_two_sided_pval_rand: function (type, delta, args_for_type) 
#>     compute_fast_bootstrap_distr: function (B, ...) 
#>     compute_fast_rand_bootstrap_distr: function (y0_full, rand_bootstrap_draws, delta, transform_responses, 
#>     compute_fast_randomization_distr: function (y, permutations, delta, transform_responses, zero_one_logit_clamp = .Machine$double.eps) 
#>     compute_fast_randomization_distr_via_reused_worker: function (y, permutations, delta, transform_responses, preserve_cache_keys = character(), 
#>     compute_jackknife_distribution_with_reused_workers: function (...) 
#>     compute_jackknife_summary: function (unit = "auto") 
#>     compute_m_out_of_n_bootstrap_confidence_interval_impl: function (...) 
#>     compute_m_out_of_n_bootstrap_two_sided_pval_impl: function (...) 
#>     compute_rand_bootstrap_ci_pval_cached: function (...) 
#>     compute_rand_bootstrap_distribution_with_reused_workers: function (...) 
#>     compute_randomization_ci_pval_cached: function (inf_obj, r, delta, transform_responses, permutations, 
#>     compute_randomization_distr_via_reused_worker_states: function (permutations, delta, transform_responses, actual_rand_cores, 
#>     compute_randomization_worker_estimate: function (worker_state) 
#>     compute_resampling_draw_distribution: function (...) 
#>     compute_reusable_bootstrap_worker_distribution: function (...) 
#>     compute_subsampling_confidence_interval_impl: function (...) 
#>     compute_subsampling_sensitivity_impl: function (...) 
#>     compute_subsampling_two_sided_pval_impl: function (...) 
#>     compute_subsampling_worker_estimate: function (...) 
#>     compute_treatment_estimate_during_randomization_inference: function (estimate_only = TRUE) 
#>     compute_two_sided_brt_pval_studentized: function (...) 
#>     compute_two_sided_brt_pval_with_sequential_mc: function (...) 
#>     compute_two_sided_pval_with_sequential_mc: function (t, r, delta, transform_responses, show_progress, permutations, 
#>     compute_two_sided_randomization_pval_band: function (t0s, t, conf_level) 
#>     compute_two_sided_randomization_pval_from_t0s: function (t0s, t) 
#>     compute_wald_confidence_interval_impl: function (alpha) 
#>     compute_wald_two_sided_pval_impl: function (delta) 
#>     compute_z_or_t_ci_from_s_and_df: function (alpha) 
#>     compute_z_or_t_two_sided_pval_from_s_and_df: function (delta) 
#>     create_bootstrap_worker_state: function () 
#>     create_design_backed_bootstrap_worker_state: function (...) 
#>     create_design_matrix: function () 
#>     create_reusable_bootstrap_worker: function (...) 
#>     current_bayesian_bootstrap_context: NULL
#>     current_bayesian_bootstrap_subject_or_block_weights: NULL
#>     dead: 1 1 1 1 1 1 1 1
#>     des_obj: DesignSeqOneByOneBernoulli, DesignSeqOneByOne, Design, R6
#>     des_obj_priv_int: environment
#>     effective_parallel_cores: function (operation, requested_cores = self$num_cores) 
#>     end_rand_worker_reuse_session: function () 
#>     ensure_mirai_daemons: function (n) 
#>     ensure_resampling_distribution_cache: function (operation) 
#>     estimate_bootstrap_worker: function (...) 
#>     evaluate_m_out_of_n_bootstrap_size: function (...) 
#>     evaluate_subsampling_size: function (...) 
#>     expand_bound: function (inf_obj, bound, est, r, transform_arg, permutations, 
#>     expand_rand_bootstrap_bound: function (...) 
#>     expand_subject_or_block_weights_to_row_weights: function (...) 
#>     extract_dollar_paths: function (expr) 
#>     finalize: function () 
#>     fit_warm_start: NULL
#>     fit_warm_start_enabled: TRUE
#>     fit_warm_start_fisher: NULL
#>     fit_warm_start_type: NULL
#>     fit_warm_start_weights: NULL
#>     fit_with_hardened_qr_column_dropping: function (X_full, fit_fun, fit_ok, required_cols = 1L, implicit_intercept = FALSE) 
#>     fixed_covariate_keep_cache: NULL
#>     fork_cluster: NULL
#>     generate_exchangeable_resampling_draws: function (...) 
#>     generate_permutations: function (r) 
#>     generate_rand_bootstrap_draws: function (...) 
#>     get_X: function () 
#>     get_bootstrap_type: function (...) 
#>     get_brt_distribution_prefix: function (...) 
#>     get_cached_centered_resampling_pivot: function (...) 
#>     get_cached_resampling_distribution: function (operation, cache_key) 
#>     get_cluster_jackknife_ids: function (...) 
#>     get_complexity_tier: function () 
#>     get_degrees_of_freedom: function () 
#>     get_estimand_type: function () 
#>     get_exchangeable_units: function (...) 
#>     get_fit_warm_start: function (type = c("beta", "params")) 
#>     get_fit_warm_start_fisher: function (expected_dim = NULL) 
#>     get_fit_warm_start_for_length: function (type = c("beta", "params"), expected_length = NULL) 
#>     get_fit_warm_start_weights: function (expected_n = NULL) 
#>     get_likelihood_null_warm_state: function (key) 
#>     get_likelihood_test_eval_cache: function () 
#>     get_likelihood_test_eval_entry: function (testing_type, delta) 
#>     get_optimal_warm_start_config: function (expected_length, expected_fisher_dim = expected_length) 
#>     get_or_create_fork_cluster: function () 
#>     get_randomization_ci_seed_candidates: function (inf_obj, alpha) 
#>     get_randomization_distribution_prefix: function (r, delta, transform_responses, show_progress, permutations, 
#>     get_resampling_block_ids: function (...) 
#>     get_resampling_cluster_ids: function (...) 
#>     get_resampling_draw_contract: function (operation) 
#>     get_resampling_strata_ids: function (...) 
#>     get_standard_error: function () 
#>     get_supported_testing_types_impl: function () 
#>     get_w_signed: function (w) 
#>     harden: TRUE
#>     has_general_censoring: FALSE
#>     has_match_structure: FALSE
#>     has_private_method: function (method_name) 
#>     high_precision_confirm_and_refine_ci_bound: function (l, u, lower, r, transform_responses, permutations, 
#>     infer_original_se: function (...) 
#>     install_weighted_refit_isolation: function () 
#>     invert_ci_to_find_two_sided_pval_for_treatment_effect: function (delta = 0) 
#>     invert_rand_bootstrap_test_bisection: function (...) 
#>     is_KK: FALSE
#>     is_a_asymp: function () 
#>     is_a_rand_ci: function () 
#>     is_bernoulli_design: function () 
#>     is_resampling_control_condition: function (...) 
#>     jack_distr_cache: NULL
#>     jackknife_always_nonestimable: function () 
#>     jackknife_block_size_gt_one_unsupported: function (unit = "auto") 
#>     jackknife_cache_key: function (unit = "auto") 
#>     last_weighted_refit: NULL
#>     likelihood_null_warm_cache: NULL
#>     likelihood_test_delta_key: function (testing_type, delta) 
#>     lin_xm_m_vec: NULL
#>     lin_xm_structural: NULL
#>     load_bayesian_bootstrap_draw_into_worker: function (...) 
#>     load_bayesian_bootstrap_weights_into_worker: function (...) 
#>     load_bootstrap_draw_into_worker: function (...) 
#>     load_bootstrap_sample_into_design_backed_worker: function (...) 
#>     load_bootstrap_sample_into_worker: function (worker_state, indices) 
#>     load_m_out_of_n_bootstrap_draw_into_worker: function (...) 
#>     load_non_param_bootstrap_draw_into_worker: function (...) 
#>     load_rand_bootstrap_assignment_into_worker: function (...) 
#>     load_rand_bootstrap_draw_into_worker: function (...) 
#>     load_randomization_draw_into_worker: function (worker_state, draw, delta, transform_responses, setup, 
#>     load_randomization_perm_into_worker: function (worker_state, perm_w, delta, transform_responses, y_delta, 
#>     load_resampling_draw_into_worker: function (operation, worker_state, draw, ...) 
#>     load_subsampling_draw_into_worker: function (...) 
#>     m: NULL
#>     m_out_of_n_bootstrap_cache_key: function (...) 
#>     m_out_of_n_bootstrap_centered_pivot: function (...) 
#>     m_out_of_n_bootstrap_sample_indices: function (...) 
#>     mark_jackknife_nonestimable_if_block_unsupported: function (unit = "auto") 
#>     max_resample_attempts: 50
#>     missing_bootstrap_ci: function (...) 
#>     model_formula: formula
#>     n: 8
#>     n_cpp_threads: function (n_work_items) 
#>     normalize_delta_for_cache: function (delta, resolution = NULL) 
#>     normalize_exact_inference_args: function (type, args_for_type = NULL, pval_epsilon = NULL) 
#>     normalize_jackknife_unit: function (unit = "auto") 
#>     normalize_likelihood_test_delta: function (delta) 
#>     normalize_randomization_ci_search_control: function (ci_search_control, r, pval_epsilon) 
#>     null_fit_warm_start_enabled: TRUE
#>     num_cores_override: NULL
#>     object_has_private_method: function (obj, method_name) 
#>     optimization_alg: NULL
#>     optimization_alg_allow_irls: FALSE
#>     optimization_alg_default: lbfgs
#>     p: NULL
#>     par_lapply: function (X, FUN, n_cores = self$num_cores, budget = 1L, show_progress = FALSE, 
#>     parallel_dispatch_policy: function (operation) 
#>     prob_T: 0.5
#>     pval_bayesian_bca: function (...) 
#>     pval_bca: function (...) 
#>     rand_boot_draws_counter: NULL
#>     rand_bootstrap_ci_conservative_count: NULL
#>     rand_bootstrap_ci_timeout_deadline: function (...) 
#>     rand_bootstrap_ci_types: NULL
#>     rand_bootstrap_draw_matrices: function (...) 
#>     rand_bootstrap_pval_types: NULL
#>     rand_bootstrap_transform_code: function (...) 
#>     reduce_design_matrix_preserving_treatment: function (X_full) 
#>     reduce_design_matrix_preserving_treatment_fixed_covariates: function (X_full) 
#>     reduce_design_matrix_preserving_treatment_matrix: function (X_full) 
#>     reduce_treatment_only_design_fast: function (X_full) 
#>     reduced_design_keep_cache: NULL
#>     reference: control
#>     renumber_match_ids: function (...) 
#>     requires_blocking_design: function () 
#>     resampling_centered_pval: function (...) 
#>     resampling_ci_from_centered_distribution: function (...) 
#>     resampling_effective_p: function (...) 
#>     resampling_error_to_na: function (...) 
#>     resampling_scaling_factor: function (...) 
#>     resampling_scaling_key: function (...) 
#>     resolve_dollar_path: function (expr) 
#>     resolve_jackknife_unit: function (unit = "auto") 
#>     resolve_resampling_size: function (...) 
#>     resolve_resampling_unit: function (...) 
#>     reusable_bootstrap_worker_enabled: TRUE
#>     reused_worker_preserved_cache_keys: function () 
#>     run_isolated_weighted_refit: function (...) 
#>     run_rand_bootstrap_iteration: function (...) 
#>     run_rand_bootstrap_iteration_with_se: function (...) 
#>     run_randomization_iteration: function (thread_des_obj, thread_inf_obj, perm_idx, permutations, 
#>     sample_exchangeable_unit_ids: function (...) 
#>     seed: NULL
#>     select_optimal_b_subsampling_impl: function (...) 
#>     select_optimal_m_out_of_n_bootstrap_impl: function (...) 
#>     select_optimal_resample_size: function (...) 
#>     sequential_mc_band_excludes_threshold: function (t0s, t, threshold, conf_level) 
#>     sequential_mc_control_enabled: function (mc_ctrl) 
#>     set_cached_centered_resampling_pivot: function (...) 
#>     set_cached_resampling_distribution: function (operation, cache_key, value) 
#>     set_fit_warm_start: function (start, type = c("beta", "params"), fisher = NULL, weights = NULL, 
#>     set_likelihood_null_warm_state: function (key, delta, start) 
#>     set_likelihood_test_eval_entry: function (testing_type, delta, entry) 
#>     setup_randomization_template_and_shifts: function (delta, transform_responses, zero_one_logit_clamp = .Machine$double.eps) 
#>     shared: function (estimate_only = FALSE) 
#>     shift_randomization_responses: function (y, w, delta, transform_responses, response_type, inverse = FALSE, 
#>     should_use_design_randomization_for_incidence: function () 
#>     should_use_zhang_incidence_randomization: function () 
#>     smart_cold_start_default: TRUE
#>     stable_signature: function (obj) 
#>     studentized_bootstrap_pivots: function (...) 
#>     studentized_interval_scale_unstable: function (...) 
#>     subsampling_cache_key: function (...) 
#>     subsampling_centered_pivot: function (...) 
#>     subsampling_sample_indices: function (...) 
#>     subset_permutations: function (permutations, indices) 
#>     supports_additive_delta_shift: function (transform_responses = "none") 
#>     supports_bayesian_bootstrap: function (...) 
#>     supports_design_randomization_draw: TRUE
#>     supports_design_resampling: TRUE
#>     supports_design_resampling_replay: TRUE
#>     supports_interval_or_left_censored_data: function () 
#>     supports_reusable_bootstrap_worker: function () 
#>     sync_randomization_worker_state: function (thread_des_obj, thread_inf_obj) 
#>     try_cached_reduced_design_keep: function (X_full, keep = private$reduced_design_keep_cache) 
#>     use_reusable_bootstrap_worker: function () 
#>     validate_bootstrap_worker_state: function (...) 
#>     verbose: FALSE
#>     w: 0 0 1 1 0 1 1 1
#>     warned_no_parallel: FALSE
#>     weighted_refit_depth: 0
#>     weighted_refit_impl: function (subject_or_block_weights, estimate_only = FALSE) 
#>     weighted_refit_is_nonestimable: function (type = "any") 
#>     weighted_refit_se: function () 
#>     xm_m_vec: NULL
#>     xm_structural: NULL
#>     y: 1 2 2 3 3 4 4 5
#>     y_L: NA NA NA NA NA NA NA NA
#>     y_R: NA NA NA NA NA NA NA NA
#>     y_temp: 1 2 2 3 3 4 4 5