# Blocking and Randomization for Experimental Design

## Documentation for package ‘designit’ version 0.5.0

- DESCRIPTION file.
- User guides, package vignettes and other documentation.
- Package NEWS.

## Help Pages

accept_leftmost_improvement | Alternative acceptance function for multi-dimensional scores in which order (left to right, e.g. first to last) denotes relevance.
assign_from_table | Distributes samples based on a sample sheet.
assign_in_order | Distributes samples in order.
assign_random | Assignment function which distributes samples randomly.
BatchContainer | R6 Class representing a batch container.
BatchContainerDimension | R6 Class representing a batch container dimension.
batch_container_from_table | Creates a BatchContainer from a table (data.frame/tibble::tibble) containing sample and location information.
compile_possible_subgroup_allocation | Compile list of all possible ways to assign levels of the allocation variable to a given set of subgroups
complete_random_shuffling | Reshuffle sample indices completely randomly
drop_order | Drop highest order interactions
first_score_only | Aggregation of scores: take first (primary) score only
form_homogeneous_subgroups | Form groups and subgroups of 'homogeneous' samples as defined by certain variables and size constraints
generate_terms | Generate 'terms.object' (formula with attributes)
get_order | Get highest order interaction
invivo_study_samples | A sample list from an in vivo experiment with multiple treatments and 2 strains
invivo_study_treatments | A treatment list together with additional constraints on the strain and sex of animals
L1_norm | Aggregation of scores: L1 norm
L2s_norm | Aggregation of scores: L2 norm squared
locations_table_from_dimensions | Create locations table from dimensions and exclude table
longitudinal_subject_samples | Subject sample list with group and time plus controls
mk_exponentially_weighted_acceptance_func | Alternative acceptance function for multi-dimensional scores with exponentially downweighted score improvements from left to right
mk_plate_scoring_functions | Create a list of scoring functions (one per plate) that quantify the spatially homogeneous distribution of conditions across the plate
mk_simanneal_acceptance_func | Generate acceptance function for an optimization protocol based on simulated annealing
mk_simanneal_temp_func | Create a temperature function that returns the annealing temperature at a given step (iteration)
mk_subgroup_shuffling_function | Created a shuffling function that permutes samples within certain subgroups of the container locations
mk_swapping_function | Create function to propose swaps of samples on each call, either with a constant number of swaps or following a user defined protocol
multi_trt_day_samples | Unbalanced treatment and time sample list
optimize_design | Generic optimizer that can be customized by user provided functions for generating shuffles and progressing towards the minimal score
optimize_multi_plate_design | Convenience wrapper to optimize a typical multi-plate design
osat_score | Compute OSAT score for sample assignment.
osat_score_generator | Convenience wrapper for the OSAT score
plate_effect_example | Example dataset with a plate effect
plot_plate | Plot plate layouts
shuffle_grouped_data | Generate in one go a shuffling function that produces permutations with specific constraints on multiple sample variables and group sizes fitting one specific allocation variable
shuffle_with_constraints | Shuffling proposal function with constraints.
shuffle_with_subgroup_formation | Compose shuffling function based on already available subgrouping and allocation information
sum_scores | Aggregation of scores: sum up all individual scores
validate_samples | Validates sample data.frame.
worst_score | Aggregation of scores: take the maximum (i.e. worst score only)