**Software for Exploratory Data Analysis and Statistical Modelling**, and kindly contributed to R-bloggers)

The Balanced Incomplete Block Design (BIBD) is a well studied experimental design that has various desirable features from a statistical perspective. The **crossdes** package in **R** provides a way to generate a block design for some given parameters and test wheter this design satisfies the BIBD conditions.

For a BIBD there are **v** treatments repeated **r** times in **b** blocks of **k** observations. There is a fifth parameter **lambda** that records the number of blocks where every pair of treatment occurs in the design.

We first load the crossdes package in our sessions:

require(crossdes)

The function **find.BIB** is used to generate a block design with specific number of treatments, blocks (rows of the design) and elements per block (columns of the design).

Consider an example with five treatments in four blocks of three elements. We can create a block design via:

> find.BIB(5, 4, 3) [,1] [,2] [,3] [1,] 1 3 4 [2,] 2 4 5 [3,] 2 3 5 [4,] 1 2 5

This design is not a BIBD because the treatments are not all repeated the same number of times in the design and we can check this with the **isGYD** function. For this example:

> isGYD(find.BIB(5, 4, 3)) [1] The design is neither balanced w.r.t. rows nor w.r.t. columns.

This confirms what we can see from the design.

Let us instead consider a design with seven treatments and seven blocks of three elements to see whether we can create a BIBD with these parameters:

> my.design = find.BIB(7, 7, 3) > my.design [,1] [,2] [,3] [1,] 1 2 5 [2,] 3 4 5 [3,] 1 3 6 [4,] 2 3 7 [5,] 2 4 6 [6,] 1 4 7 [7,] 5 6 7 > isGYD(my.design) [1] The design is a balanced incomplete block design w.r.t. rows.

In this situation we are able to generate a valid BIBD experiment with the specified parameters.

**leave a comment**for the author, please follow the link and comment on his blog:

**Software for Exploratory Data Analysis and Statistical Modelling**.

R-bloggers.com offers

**daily e-mail updates**about R news and tutorials on topics such as: visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...