R中的Orthoplan(分数因子设计)

Luc*_*ron 4 statistics r

我正在尝试在R中为联合分析实验(如SPSS orthoplan)创建一个因子设计.

在过去的Stackoverflow问题中搜索,我找到了之前的答案:

如何在R中创建分数阶乘设计?

这确实是一个有用的答案,但只有在你有数字水平的因素的情况下.

不幸的是,这不是我的情况,因为我想要使用的因素是名义变量,即它们的水平不是数字类型而是因子类型:例如我必须处理指示产品颜色的因素,可以是绿色,黄色或红色.

我已经尝试修改建议的代码作为如何在R中创建分数阶乘设计的问题的答案 以这样的方式:

f.design <- gen.factorial(levels.design,factors="all")
Run Code Online (Sandbox Code Playgroud)

但结果既不平衡,也不正交.此外,您必须在optFederov函数中定义确切的试验次数.在该答案中,建议的试验次数为:

nTrials=sum(levels.design) 
Run Code Online (Sandbox Code Playgroud)

但为了在具有名义因素的设计中获得平衡的解决方案,我预计它至少应该是:

nTrials=prod(unique(levels.design))
Run Code Online (Sandbox Code Playgroud)

无论如何都有一个可以解决这个问题的软件包,它是FrF2由Ulrike Groemping教授提供的软件包,但它只处理二元变量,我无法弄清楚如何使用它来解决我的问题.

Luc*_*ron 5

经过一段时间研究自己的答案后,我可以在这里分享我找到的答案:

是的,您可以在R中构建正交设计,其方式与SPSS orthoplan中的相似.

只需将变量定义nlevels为包含变量级别的向量即可.

然后你必须打电话:

library(DoE.base)

fract.design <- oa.design(nlevels=levels.design)

该函数将查找正交设计库(正好是Kuhfeld W.,2009,Orthogonal arrays)

如果没有合适的可用正交设计,该函数将只返回完整的阶乘设计(因此你在R中没有其他选择但是要调用optFederov函数,如我在上面的问题中所解释的那样).

举个例子试试:

oa.design(nlevels=c(2,2,3))

oa.design(nlevels=c(2,2,4))

第一个没有解决方案(因此你将获得全部因子),但第二个确实有一个解决方案,一个8卡,正交和平衡设计.