我正在尝试在R中为联合分析实验(如SPSS orthoplan)创建一个因子设计.
在过去的Stackoverflow问题中搜索,我找到了之前的答案:
这确实是一个有用的答案,但只有在你有数字水平的因素的情况下.
不幸的是,这不是我的情况,因为我想要使用的因素是名义变量,即它们的水平不是数字类型而是因子类型:例如我必须处理指示产品颜色的因素,可以是绿色,黄色或红色.
我已经尝试修改建议的代码作为如何在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教授提供的软件包,但它只处理二元变量,我无法弄清楚如何使用它来解决我的问题.
经过一段时间研究自己的答案后,我可以在这里分享我找到的答案:
是的,您可以在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卡,正交和平衡设计.
| 归档时间: |
|
| 查看次数: |
2246 次 |
| 最近记录: |