ras.Randomizer
creates multiple series of groups each
with randomly sampled observations. Observations are distributed such as
that there are no repeated entries between groups/within a series.
Number of groups in a series is calculated as
length(master_list)
divided by group_size
,
rounded up to nearest integer. If an observation can not be found (for
example because the groups can not be filled evenly) an error message is
printed to the console and N/A
inserted instead.
# Example with 4 even groups
# Compound list
Compound_list = c(
"Comp_1", "Comp_2", "Comp_3", "Comp_4", "Comp_5",
"Comp_6", "Comp_7", "Comp_8", "Comp_9", "Comp_10",
"Comp_11", "Comp_12", "Comp_13", "Comp_14", "Comp_15",
"Comp_16", "Comp_17", "Comp_18", "Comp_19", "Comp_20",
"Comp_21", "Comp_22", "Comp_23", "Comp_24")
series_A = ras.Randomizer(compound_list = Compound_list,
group_size = 6,
series = 2)
print("+++++ Series A +++++")
#> [1] "+++++ Series A +++++"
series_A
#> $Series_01
#> Group_01 Group_02 Group_03 Group_04
#> 1 Comp_16 Comp_5 Comp_18 Comp_20
#> 2 Comp_19 Comp_1 Comp_7 Comp_4
#> 3 Comp_24 Comp_6 Comp_21 Comp_8
#> 4 Comp_9 Comp_13 Comp_14 Comp_2
#> 5 Comp_3 Comp_12 Comp_10 Comp_23
#> 6 Comp_22 Comp_15 Comp_11 Comp_17
#>
#> $Series_02
#> Group_01 Group_02 Group_03 Group_04
#> 1 Comp_7 Comp_2 Comp_4 Comp_17
#> 2 Comp_23 Comp_3 Comp_10 Comp_15
#> 3 Comp_13 Comp_5 Comp_6 Comp_22
#> 4 Comp_24 Comp_16 Comp_14 Comp_20
#> 5 Comp_21 Comp_11 Comp_18 Comp_9
#> 6 Comp_8 Comp_19 Comp_12 Comp_1
# Example with 5 uneven groups
# Compound list
Compound_list = c(
"Comp_1", "Comp_2", "Comp_3", "Comp_4", "Comp_5",
"Comp_6", "Comp_7", "Comp_8", "Comp_9", "Comp_10",
"Comp_11", "Comp_12", "Comp_13", "Comp_14", "Comp_15",
"Comp_16", "Comp_17", "Comp_18", "Comp_19", "Comp_20",
"Comp_21", "Comp_22", "Comp_23", "Comp_24")
series_B = ras.Randomizer(Compound_list,
group_size = 5,
series = 2)
#> [1] "Error: Tried 100 times but couldn't select a random observation that met the criteria. Are the groups unevenly sized?"
#> [1] "Error: Tried 100 times but couldn't select a random observation that met the criteria. Are the groups unevenly sized?"
print("+++++ Series B +++++")
#> [1] "+++++ Series B +++++"
series_B
#> $Series_01
#> Group_01 Group_02 Group_03 Group_04 Group_05
#> 1 Comp_1 Comp_16 Comp_15 Comp_10 Comp_11
#> 2 Comp_24 Comp_9 Comp_14 Comp_22 Comp_21
#> 3 Comp_8 Comp_20 Comp_5 Comp_2 Comp_12
#> 4 Comp_17 Comp_4 Comp_18 Comp_6 Comp_7
#> 5 Comp_3 Comp_19 Comp_13 Comp_23 N/A
#>
#> $Series_02
#> Group_01 Group_02 Group_03 Group_04 Group_05
#> 1 Comp_14 Comp_5 Comp_3 Comp_2 Comp_11
#> 2 Comp_21 Comp_22 Comp_19 Comp_24 Comp_17
#> 3 Comp_10 Comp_1 Comp_9 Comp_7 Comp_8
#> 4 Comp_16 Comp_23 Comp_15 Comp_6 Comp_4
#> 5 Comp_12 Comp_20 Comp_13 Comp_18 N/A
# Example of writing to .xlsx file
# Don't run
# Series_P = ras.Randomizer(Compound_list,
# group_size = 5,
# series = 2,
# write = TRUE,
# fileName = "Series_P Example for ras.Randomizer")