GreedyExperimentalDesign1.6 package

Greedy Experimental Design Construction

all_elements_same_cpp_wrap

Tests if a vector has all elements the same

complete_randomization_with_forced_balanced

Implements forced balanced randomization

complete_randomization

Implements complete randomization (without forced balance)

compute_distance_matrix_cpp_wrap

Computes a Euclidean-squared distance matrix rapidly

compute_gram_matrix

Gram Matrix Computation

compute_objective_val

Computes Objective Value From Allocation Vector

compute_randomization_metrics

Computes Randomization Metrics (explained in paper) about a design alg...

computeBinaryMatchStructure

Compute Binary Matching Strcuture

create_all_ys_cpp_wrap

Create all binary Y's convenience function using a randomized design

gen_pm_designs_cpp_wrap

Create PM designs

gen_var_cov_matrix_block_designs

Computes varcov matrix for block designs

generate_block_design_cpp_wrap

Generates homogeneous block design allocations rapidly

generate_stdzied_design_matrix

Generates a design matrix with standardized predictors.

greedy_orthogonalization_curation

Curate More Orthogonal Vectors Greedily

greedy_orthogonalization_curation2

Curate More Orthogonal Vectors Greedily

GreedyExperimentalDesign

Greedy Experimental Design Search

hadamardExperimentalDesign

Create a Hadamard Design

imbalanced_block_designs

Implements unequally allocated block designs

imbalanced_complete_randomization

Implements unequally allocated complete randomization

initBinaryMatchExperimentalDesignSearchObject

Begin a Binary Match Search

initBinaryMatchFollowedByGreedyExperimentalDesignSearchObject

Begin a Search for Binary Matching Followed by Greedy Switch Designs

initBinaryMatchFollowedByRerandomizationDesignSearchObject

Begin a Search for Binary Matching Followed by Rerandomization

initGreedyExperimentalDesignObject

Begin A Greedy Pair Switching Search

initGreedyMultipleKernelExperimentalDesignObject

Begin A Greedy Pair Multiple Kernel Switching Search

initGurobiNumericalOptimizationExperimentalDesignObject

Begin Gurobi Optimized Search

initKarpExperimentalDesignObject

Begin Karp Search

initOptimalExperimentalDesignObject

Begin a Search for the Optimal Solution

initRerandomizationExperimentalDesignObject

Begin a Rerandomization Search

optimize_asymmetric_treatment_assignment

Compute Optimal Number of Treatments/Controls

plot_obj_val_by_iter

Plots the objective value by iteration

plot_obj_val_order_statistic

Plots an order statistic of the object value as a function of number o...

plot.greedy_experimental_design_search

Plots a summary of a greedy search object object

plot.greedy_multiple_kernel_experimental_design

Plots a summary of a greedy_multiple_kernel_experimental_design obje...

print.binary_match_structure

Prints a summary of a binary_match_structure object

print.binary_then_greedy_experimental_design

Prints a summary of a binary_then_greedy_experimental_design object

print.binary_then_rerandomization_experimental_design

Prints a summary of a `binary_then_rerandomization_experimental_design...

print.greedy_experimental_design_search

Prints a summary of a greedy_experimental_design_search object

print.greedy_multiple_kernel_experimental_design

Prints a summary of a greedy_multiple_kernel_experimental_design obj...

print.karp_experimental_design_search

Prints a summary of a karp_experimental_design_search object

print.optimal_experimental_design_search

Prints a summary of a optimal_experimental_design_search object

print.pairwise_matching_experimental_design_search

Prints a summary of a pairwise_matching_experimental_design_search o...

print.rerandomization_experimental_design_search

Prints a summary of a rerandomization_experimental_design_search obj...

resultsBinaryMatchSearch

Binary Pair Match Search

resultsBinaryMatchThenGreedySearch

Returns unique allocation vectors that are binary matched

resultsBinaryMatchThenRerandomizationSearch

Returns unique allocation vectors that are binary matched

resultsGreedySearch

Returns the results (thus far) of the greedy design search

resultsGurobiNumericalOptimizeSearch

Query the Gurobi Results

resultsKarpSearch

Returns the results (thus far) of the karp design search

resultsMultipleKernelGreedySearch

Returns the results (thus far) of the greedy design search for multipl...

resultsOptimalSearch

Returns the results (thus far) of the optimal design search

resultsRerandomizationSearch

Returns the results (thus far) of the rerandomization design search

safe_cov_inverse

Computes a numerically stable inverse of a covariance matrix

searchTimeElapsed

Returns the amount of time elapsed

shuffle_cpp_wrap

Shuffles a vector rapidly

standardize_data_matrix

Standardizes the columns of a data matrix.

startSearch

Starts the parallelized greedy design search.

stopSearch

Stops the parallelized greedy design search.

summary.binary_match_structure

Prints a summary of a binary_match_structure object

summary.binary_then_greedy_experimental_design

Prints a summary of a binary_then_greedy_experimental_design object

summary.binary_then_rerandomization_experimental_design

Prints a summary of a `binary_then_rerandomization_experimental_design...

summary.greedy_experimental_design_search

Prints a summary of a greedy_experimental_design_search object

summary.greedy_multiple_kernel_experimental_design

Prints a summary of a greedy_multiple_kernel_experimental_design obj...

summary.karp_experimental_design_search

Prints a summary of a karp_experimental_design_search object

summary.optimal_experimental_design_search

Prints a summary of a optimal_experimental_design_search object

summary.pairwise_matching_experimental_design_search

Prints a summary of a pairwise_matching_experimental_design_search o...

summary.rerandomization_experimental_design_search

Prints a summary of a rerandomization_experimental_design_search obj...

Computes experimental designs for two-arm experiments with covariates using multiple methods, including: (0) complete randomization and randomization with forced-balance; (1) greedy optimization of a balance objective function via pairwise switching; (2) numerical optimization via 'gurobi'; (3) rerandomization; (4) Karp's method for one covariate; (5) exhaustive enumeration for small sample sizes; (6) binary pair matching using 'nbpMatching'; (7) binary pair matching plus method (1) to further optimize balance; (8) binary pair matching plus method (3) to further optimize balance; (9) Hadamard designs; and (10) simultaneous multiple kernels. For the greedy, rerandomization, and related methods, three objective functions are supported: Mahalanobis distance, standardized sums of absolute differences, and kernel distances via the 'kernlab' library. This package is the result of a stream of research that can be found in Krieger, A. M., Azriel, D. A., and Kapelner, A. (2019). "Nearly Random Designs with Greatly Improved Balance." Biometrika 106(3), 695-701 <doi:10.1093/biomet/asz026>. Krieger, A. M., Azriel, D. A., and Kapelner, A. (2023). "Better experimental design by hybridizing binary matching with imbalance optimization." Canadian Journal of Statistics, 51(1), 275-292 <doi:10.1002/cjs.11685>.