R语言 完全随机设计

R语言 完全随机设计

实验设计是统计学中方差分析的一部分。它们是预定义的算法,帮助我们分析实验单元中各组平均值之间的差异。 完全随机设计(CRD)是ANOVA类型的一部分。

完全随机化设计

设计实验的三个基本原则是复制、阻断和随机化。在这种类型的设计中,阻断并不是算法的一部分。实验的样本是随机的,复制被分配到不同的实验单位。 让我们考虑以下一些实验,并在R编程中实现实验。

实验1

在蛋糕中加入更多的泡打粉可以增加蛋糕的高度。让我们用CRD看看这个实验将如何分析。

用R编程的完全随机设计

如上图所示,发酵粉被分成4个不同的汤匙(tbsp),每个汤匙按随机顺序做了四个重复的蛋糕高度(分别为A、B、C、D)。然后比较各汤匙的结果,看看高度是否真的受到发酵粉的影响。复制只是分别对A、B、C、D的不同蛋糕高度进行的排列组合。每个蛋糕的高度都是随机的,每个汤匙的高度都是随机的。

tbsp 0.25 0.5  0.75  1 
     1.4  7.8  7.6  1.6
  #(A,B,C,D)
     2.0  9.2  7.0  3.4
  #(A,B,D,C)
     2.3  6.8  7.3  3.0
  #(B,A,D,C)
     2.5  6.0  5.5  3.9  #(B,A,C,D)
  # the randomization is done directly by the program

蛋糕的复制是通过以下代码完成的。

treat <- rep(c("A", "B", "C", "D"), each = 4)
fac <- factor(rep(c(0.25, 0.5, 0.75, 1), each = 4))
treat

输出

[1] A A A A B B B B C C C C D D D D
Levels: A B C D

创建数据框架。

height <- c(1.4, 2.0, 2.3, 2.5,
              7.8, 9.2, 6.8, 6.0, 
              7.6, 7.0, 7.3, 5.5,
              1.6, 3.4, 3.0, 3.9)
  
exp <- data.frame(treat, treatment = fac, response = height)
mod <- aov(response ~ treatment, data = exp)
summary(mod)

输出

             Df Sum Sq Mean Sq F value Pr(>F)    
treatment    3  88.46  29.486   29.64 7.85e-06 ***
Residuals   12  11.94   0.995                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

解释

每个实验的显著性都是0.05或0.01,这是由参加实验的人给出的。对于这个例子,我们认为显著性是5%,即0.05。我们应该看到Pr(>F)的值是7.85e-06,即<0.05。因此,拒绝该假设。如果该值大于0.05,则接受假设。对于这个例子,由于Pr<0.05,所以拒绝假设。让我们再考虑一个例子。

实验2

在水中加入石头会增加容器中的水的高度。让我们在图中看到这个实验,如下图所示。

用R编程的完全随机设计

考虑到如果在500ml,600ml和700ml中分别加入4块石头,水的高度就会相应增加。例如:在500毫升的水中加入6块石头,有7毫秒的高度增加。

rocks four six eight
 5    5.3  6.2 [500 600 700]
5.5    5   5.7 [600 500 700]
4.8   4.3  3.4 [700 600 500]

让我们的代码。

rocks<- rep(c("four", "six", "eight"), each = 3)
rocks
fac <- factor(rep(c(500, 600, 700), each = 3))
fac

输出

[1] "four"  "four"  "four"  "six"   "six"   "six"   "eight" "eight" "eight"

[1] 500 500 500 600 600 600 700 700 700
Levels: 500 600 700

创建数据框架。

height <- c(5, 5.5, 4.8,
            5.3, 5, 4.3,
            4.8, 4.3, 3.4)
exp1 <- data.frame(rocks, treatment = fac, 
                   response = height)
mod <- aov(response ~ treatment, data = exp1)
summary(mod)

输出

Df Sum Sq Mean Sq F value Pr(>F)
treatment    2  1.416  0.7078   2.368  0.175
Residuals    6  1.793  0.2989 

解释

这里0.175>>0.05,因此假设被接受。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程