我的问题是,是否有任何 R 包提供功能,使得随机化可能涉及交叉因素、嵌套和/或阻塞的标准实验设计相当容易。
具体而言,具体向我展示如何生成作为nlme包Oats
中的数据集提供的实验的新随机化。
> data(Oats, package="nlme")
> summary(Oats)
Block Variety nitro yield
VI :12 Golden Rain:24 Min. :0.00 Min. : 53.0
V :12 Marvellous :24 1st Qu.:0.15 1st Qu.: 86.0
III:12 Victory :24 Median :0.30 Median :102.5
IV :12 Mean :0.30 Mean :104.0
II :12 3rd Qu.:0.45 3rd Qu.:121.2
I :12 Max. :0.60 Max. :174.0
在那个实验中,有六个块。每个区块分为三个小区,随机分配给品种(每个区块每个品种一个小区,每个区块单独随机)。每个小区细分为 4 个子小区,并随机分配到四种氮量(0、0.2、0.4 和 0.6),每个小区中每个硝基水平单独随机分配一个子小区。在数据集中,这些图可识别为 和 的Block
组合Variety
。(响应变量是yield
,因此这并不是治疗设计的真正部分。)
第二个问题:如果你可以随机化Oats
,你能否使用相同的包轻松随机化其他经典设计,例如三因素 CRD、嵌套设计、三期交叉设计或 5x5 希腊拉丁方?
我实际上已经知道如何使用 R 语言中的基本函数来做到这一点。所以我对看到程序化答案并不是特别感兴趣。我想知道是否有任何现有的软件包使这变得容易。我可以确定一些可能有帮助的软件包,例如randomizeR和randomizr,但是快速阅读这些文档仍然不能让(对我)很明显如何做到这一点。
我拥有几年前为我的学生开发的通用随机包的材料,我正在尝试决定是否进一步开发它以在 CRAN 上发布。