在R中创建一个没有禁止对的小数阶乘设计

时间:2013-08-27 07:18:49

标签: r factorial

我正在尝试为基于选择的联合研究编写R代码。 我可以使用AlgDesign或联合创建一个阶乘设计 - 但是,有些属性级别的组合不应该在一起 使用网络上的一个例子:

#Creating a full factorial design
library(AlgDesign)
ffd <- gen.factorial(c(2,2,4), varNames=c("Discount","Amount","Price"), factors="all")
ffd

   Discount Amount Price
1    1      1      1
2    2      1      1
3    1      2      1
4    2      2      1
5    1      1      2
6    2      1      2
7    1      2      2
8    2      2      2
9    1      1      3
10   2      1      3
11   1      2      3
12   2      2      3
13   1      1      4
14   2      1      4
15   1      2      4
16   2      2      4

但如果“折扣”2(“无折扣”)永远不应与“金额”1(“20%折扣”)配对,该怎么办

有没有办法告诉AlgDesign或联合或其他一些因素设计从设计中删除任何被禁止的对?

任何建议都将受到赞赏。

1 个答案:

答案 0 :(得分:2)

您可以像在那里一样生成ffd,然后删除符合条件的行,例如ffd$Discount == 2 & ffd$Amount==1。简单易行的方法是保留所有不符合条件的行:

ffd<-ffd[(ffd$Discount != 2 | ffd$Amount != 1),]

对要拒绝的每个条件重复此操作。