Related Articles

Related Articles

Randomized Block Design with R Programming
  • Last Updated : 22 Oct, 2020

Experimental Designs are part of ANOVA in statistics. They are predefined algorithms that help us in analyzing the differences among group means in an experimental unit. Randomized Block Design (RBD) or Randomized Complete Block Design is one part of the Anova types.

Randomized Block Design:

The three basic principles of designing an experiment are replication, blocking, and randomization. In this type of design, blocking is not a part of the algorithm. The samples of the experiment are random with replications are assigned to specific blocks for each experimental unit. Let’s consider some experiments below and implement the experiment in R programming.

Experiment 1

Testing new fertilizers in different types of crops. Crops are divided into 3 different types(blocks). These blocks are again divided into 3 fertilizers that are used on those crops. The figure for this is as follows:

 RCBDexample



In the above image:

F1 – Fertilizer 1, F2 – Fertilizer 2 , NF – No Fertilizer  

The crops are divided into 3 blocks(rice, wheat, and corn). Then they are again divided into fertilizer types. The results of the different blocks will be analyzed. Let’s see the above in the R language.

Note: In R agricolae package can also be used for implementing RCBD. But here we are using a different approach.

Let’s build the dataframe:

R

filter_none

edit
close

play_arrow

link
brightness_4
code

corn <- factor(rep(c("corn", "rice", "wheat"), each = 3))
fert <- factor(rep(c("f1", "f2", "nf"), times = 3))
corn

chevron_right


Output:

[1] corn  corn  corn  rice  rice  rice  wheat wheat wheat
Levels: corn rice wheat

R



filter_none

edit
close

play_arrow

link
brightness_4
code

y <- c(6, 5, 6, 
       4, 4.2, 5,
       5, 4.4, 5.5)
  
# y is the months the crops were healthy
results <- data.frame(y, corn, fert)
   
fit <- aov(y ~ fert+corn, data = results)                 
summary(fit)

chevron_right


Output:

            Df Sum Sq Mean Sq  F value Pr(>F)  
fert         2 1.4022  0.7011   6.505 0.0553 .
corn         2 2.4156  1.2078  11.206 0.0229 *
Residuals    4 0.4311  0.1078                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Explanation:

The value of Mean Sq shows is blocking really necessary for the experiment. Here Mean Sq 0.1078<<0.7011 thus blocking is necessary will give precise values for the experiment. Though this method is a little debatable yet useful. The significance value of every experiment is given by the person taking the experiment. Here lets consider significance has 5% i.e 0.05. The Pr(>F) value is 0.553>0.05. Thus the hypothesis is accepted for the crops experiment. Let’s consider one more experiment.

Experiment 2

Comparing the performances of students (male and female) blocks in different environments (at home and at college). To represent this experiment in the figure will be as follows:

Note: It generally is safe to consider an equal number of blocks and treatments for better results.

Experiment 2

In the above image:

AC – At College, AH: At Home

Students are divided into blocks as male and female. Then each block is divided into 2 different environments (home and college). Let’s see this in code:

R

filter_none

edit
close

play_arrow

link
brightness_4
code

stud <- factor(rep(c("male", "female"), each = 2))
perf <- factor(rep(c("ah", "ac" ), times = 2))
perf

chevron_right


Output:

[1] ah ac ah ac
Levels: ac ah

R

filter_none

edit
close

play_arrow

link
brightness_4
code

y <- c(5.5, 5,
       4, 6.2)
  
# y is the hours students 
# studied in specific places
results <- data.frame(y, stud, perf)
   
fit <- aov(y ~ perf+stud, data = results)                 
summary(fit)

chevron_right


Output:

Df Sum Sq Mean Sq F value Pr(>F)
perf         1 0.7225  0.7225   0.396  0.642
stud         1 0.0225  0.0225   0.012  0.930
Residuals    1 1.8225  1.8225 

Explanation:

The value of Mean Sq is 0.7225<<1.8225,i.e, here blocking wasn’t necessary. And as Pr value is  0.642 > 0.05 (5% significance) and the hypothesis is accepted.

My Personal Notes arrow_drop_up
Recommended Articles
Page :