Utility function for inspecting available SOAs for which the user need not provide an OA

guide_SOAs(s = 2, el = 3, m = NULL, n = NULL, ...)

Arguments

s

required (default: 2); prime or prime power on which the SOA is based

el

required (default: 3); the power to which s is to be taken, i.e. the SOA will have columns with s^el levels

m

the number of columns needed (optional)

n

the maximum number of runs that are acceptable (optional);
should be a multiple of s^el; must not be smaller than m+1, if m is specified

...

currently unused

Value

The function returns a data frame, each row of which contains a possibility; if no SOAs exist, the data.frame has zero rows. There is example code for constructing the SOA. Code details must be adjusted by the user (see the documentation of the respective functions). #'

Details

The function provides the possible creation variants of an SOA that has m columns in s^el levels in up to n runs. It is permitted to specify m OR n only; in that case the function provides constructions with the smallest n or the largest m, respectively.
If both m and n are omitted, the function returns the smallest possible (O)SOA constructions for s^el levels that can be obtained without providing an OA.

References

For full detail, see SOAs-package.

Groemping (2023a)
He, Cheng and Tang (2018)
Li, Liu and Yang (2021)
Shi and Tang (2020)
Zhou and Tang (2019)

Author

Ulrike Groemping

Examples

## guide_SOAs
## There is a Zhou and Tang type SOA with 4-level columns in 8 runs
guide_SOAs(2, 2, n=8)
#>          type strength n nlevels m mmax orthogonal
#> ZT2019 ZT2019       3- 8       4 3    3        yes
#>                                  code
#> ZT2019 OSOAs_hadamard(m=3, n=8, el=2)
## There are no SOAs with 8-level columns in 8 runs
guide_SOAs(2, 3, n=8)
#> [1] type       strength   n          nlevels    m          mmax       orthogonal
#> [8] code      
#> <0 rows> (or 0-length row.names)
## What SOAs based on s=2 in s^3 levels with 7 columns
## can be construct without providing an OA?
guide_SOAs(2, 3, m=7)
#>            type strength  n nlevels m mmax orthogonal
#> ST_fam1 ST_fam1        3 32       8 7    9         no
#> ST_fam3 ST_fam3       3+ 32       8 7    7        yes
#> LLY         LLY        3 24       8 7   10        yes
#>                                                       code
#> ST_fam1     SOAs_8level(n=32, m=7, constr='ShiTang_alpha')
#> ST_fam3 SOAs_8level(n=32, m=7, constr='ShiTang_alphabeta')
#> LLY                        OSOAs_hadamard(m=7, n=24, el=3)
## pick the Shi and Tang family 3 design
myST_3plus <- SOAs_8level(n=32, m=7, constr='ShiTang_alphabeta')
#> Optimization 1 of 1 started
#> Optimization round 1 of 1 started
## Note that the design has orthogonal columns and strength 3+,
## i.e., very good balance properties.