Get Started

Balanced Incomplete Block Designs (BIBD) video

1. Balanced Incomplete Block Designs (BIBD)

We covered randomized complete block designs, which was a completely randomized experiment executed inside each block in order to control for a "nuisance" factor that you're not interested in studying. What about when you can't fit each treatment in a block? That's an incomplete block design.

2. Balanced Incomplete Block Designs

Sometimes it will not be feasible, advisable, or even necessary to test every treatment in each block. In that case, you can possibly build a Balanced Incomplete Block Design. Incomplete block designs do exist and lack the "balance" in each pair of treatments occuring an equal number of times across the experiment. We won't cover these here, but you should know that they're possible.

3. Is there a BIBD? - Part 1

A BIBD isn't always possible, however. We could do some quick math to find out if a BIBD is possible. Let t be our number of treatments, k be the number of factor levels of our blocking variable, and r the desired replications of our experiment. To find out if a BIBD is even possible, you can calculate lambda using this formula: replications times number of blocking factors minus one, divided by number of treatments minus 1. If lambda is a whole number, there is a BIBD possible, and if not, there simply isn't one for the given t, k, and r.

4. Is there a BIBD? - Part 2

In R, we could validate if a BIBD is possible by winging it and plugging numbers in and out of the design.bib() function in agricolae. design.bib() takes, at minimum, the treatments (treats), an integer k corresponding to the number of levels of the blocks, and a seed as inputs. It returns an error message letting you know if a design is not valid.

5. BIBD examples (1)

Say we only have the money for two treatments per block (k) out of four total treatments (t), that is, four blocks and two full replications of the experiment. Even though this may look fully balanced, when you calculate lambda, you quickly see that it equals 2/3, and not a whole number.

6. Invalid BIBD

A BIBD isn't possible here; you would need to add more replications of the experiment or a larger block size. In the image version, we can check to see if each pair of treatment occurs in a balanced way. Right away, we can see that AB occurs only once in the first column. The pair AC never occurs in a block. Either one of these methods will tell you this is not a valid BIBD, although calculating the lambda is certainly quicker.

7. BIBD examples (2)

In the case of a second example where there are four treatments (t), and you intend to do three treatments per block (k), with three full replications (r), we get a lambda of 2. This BIBD is a go!

8. Valid BIBD

Again, we can look at the image to verify that each pair of treatments occurs together twice across the entire group. Let's find the number of occurrences of AB, for example. Columns are our blocking factor, so we're checking for pairs column-wise. We see AB in the first and second columns only. AC, for example, occurs in the second and third columns only. If we continued, this would hold true for all pairs of treatments in this study.

9. Let's practice!

Don't be too intimidated by BIBDs. Let's jump into some examples of calculating lambda, finding BIBDs using agricolae, and even analyzing a few, including an example with the NHANES data.