2013-02-07 91 views
3

我正在尝试在R中为联合分析实验(如SPSS orthoplan)创建因子设计。R中的Orthoplan(部分因子设计)

过去的问题#1中搜索,我发现这个以前的答案:

How to create a fractional factorial design in R?

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

不幸的是这不是我的情况,因为我想使用的因素是名义变量,即它们的级别不是数值类型,而是因子类型:例如,我必须处理一个指示产品颜色的因子绿色,黄色或红色。

我试图以这样的方式提出作为一个答案的代码修改的问题How to create a fractional factorial design in R?

f.design <- gen.factorial(levels.design,factors="all") 

但结果也不均衡,也不正交。而且,您必须在optFederov函数中定义试验的确切数量。在回答审判的建议数量:

nTrials=sum(levels.design) 

但为了在与标称因素设计一个平衡的解决方案,我希望它至少应该是:

nTrials=prod(unique(levels.design)) 

有一个包无论如何可以处理这样的问题,这是ulrike groemping教授的FrF2包,但它只处理二分变量,我不知道如何使用它来解决我的问题。

回答

4

之后已经有一段由自己研发的答案,我可以在这里分享我发现:

是,在R中可以建立正交设计,以类似的方式,因为它在SPSS orthoplan发生。

只需将变量nlevels定义为包含变量级别的矢量。

然后你要拨打:

library(DoE.base)

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

功能将查找到正交设计(正是Kuhfeld W.,2009年,正交阵列)

库如果没有合适的可用正交设计,该函数将返回完整的阶乘设计(因此在R中没有其他选择,但称为optFederov函数如上面在我的问题中所解释的)。

作为一个例子尝试:

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

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

第一没有一个解决方案(所以你会回来的全因子),但第二个确实有解决方案,8张卡,正交和平衡设计。