Learn R Programming

NPBBBdesigns (version 1.0.0)

construct_method3: Construct an NPBBB Design by Merging Rows of a Group-Divisible NPBIB Design

Description

Implements Method 3 of Vinayaka et al. (2026). In a group-divisible NPBIB design on \(v = mn\) treatments arranged in an \(m \times n\) array, the treatments of v2 selected rows are each merged into a single control treatment. The test treatments are the \(n(m - v_2)\) remaining array entries, relabelled 1, ..., v1; the merged rows become controls v1 + 1, ..., v1 + v2. A control may occur more than once in a sub-block (see Note 3.1 of the paper); such multiplicities are retained.

Usage

construct_method3(
  gd_npbib_subblocks,
  m,
  n,
  q,
  merge_rows = seq_len(v2),
  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

gd_npbib_subblocks

A list of integer vectors, one per sub-block of the parent group-divisible NPBIB design, with treatments labelled 1, ..., mn. Sub-blocks must be supplied in block order.

m

Number of rows of the group-divisible scheme.

n

Number of treatments per row.

q

Number of sub-blocks per block.

merge_rows

Integer vector of length v2 giving the rows to merge into controls (default: the first v2 rows).

v2

Number of control treatments (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
# Group-divisible NPBIB on v = m*n = 8 treatments (m = 4 rows, n = 2),
# with q = 2 sub-blocks per block; merge the first two rows into v2 = 2 controls
gd <- list(c(1,3), c(2,4),  c(5,7), c(6,8),  c(1,5), c(2,6),
           c(3,7), c(4,8),  c(1,7), c(2,8),  c(3,5), c(4,6))
d <- construct_method3(gd, m = 4, n = 2, q = 2, merge_rows = c(1, 2), v2 = 2)
d

Run the code above in your browser using DataLab