Learn R Programming

NPBBBdesigns (version 1.0.0)

construct_method2: Construct an NPBBB Design by Augmenting an NPBIB Design with Controls

Description

Implements Method 2 of Vinayaka et al. (2026). Starting from a nested partially balanced incomplete block (NPBIB) design with q sub-blocks per block, v2 control treatments are added to every sub-block. Because the controls appear in every sub-block, every test treatment meets every control the same number of times and every pair of controls co-occurs the same number of times; the resulting design is completely symmetric in the controls and, whenever the parent NPBIB design is itself well balanced, A-optimal for both classifications.

Usage

construct_method2(npbib_subblocks, q, v2 = 2)

Value

An object of class "npbbb": a list with the following components:

  • method: a character string naming the construction used.

  • v1, v2: numbers of test and control treatments.

  • parameters: a list of the design parameters v1, v2, b1, b2, r1, r2, k1, k2, q.

  • block_design: an integer matrix with b1 rows and k1 columns; each row is a block written as its concatenated sub-blocks.

  • subblock_design: an integer matrix with b2 rows and k2 columns; each row is a sub-block.

  • E1, E2: block and sub-block A-efficiencies.

  • efficiency: an object of class "npbbb_efficiency" holding the underlying A-values and optimal references.

Arguments

npbib_subblocks

A list of integer vectors, one per sub-block of the parent NPBIB design, giving its test treatments labelled 1, ..., v1. Sub-blocks must be supplied in block order: the first q entries form block 1, the next q entries block 2, and so on.

q

Number of sub-blocks per block of the parent NPBIB design.

v2

Number of control treatments to add (default 2).

References

Vinayaka, Parsad R, Mandal BN, LN Vinaykumar (2026) Nested partially balanced bipartite block designs for comparing test treatments with multiple controls. Journal of Statistical Theory and Practice. (In press).

Examples

Run this code
# L2-type NPBIB on v = 9 (Example 3.2 of Vinayaka et al. (2026))
sub <- list(c(1,2,3), c(4,5,6),  c(1,2,3), c(7,8,9),  c(4,5,6), c(7,8,9),
            c(1,4,7), c(2,5,8),  c(1,4,7), c(3,6,9),  c(2,5,8), c(3,6,9))
d <- construct_method2(sub, q = 2, v2 = 2)
d

Run the code above in your browser using DataLab