用R语言生成均匀设计

实践中,对于多因素的试验设计,以往多是采用正交设计。最近,有人咨询我,两个因素4个水平的正交设计是怎样的?

我运行了DoE.base包里的oa.design(),结果令人诧异,结果如下:

// oa design
> oa.design(nfactors=2,nlevels=4)
creating full factorial with 16 runs ...

   A B
1  1 4
2  3 3
3  4 4
4  2 4
5  1 3
6  4 1
7  3 2
8  4 3
9  3 1
10 2 1
11 1 1
12 3 4
13 4 2
14 2 3
15 2 2
16 1 2
class=design, type= full factorial

oa.design给出了全因子设计。而对于3因素3水平,oa.design可以给出正常的正交设计:

// An highlighted block
> oa.design(nfactors=3,nlevels=3)
  A B C
1 1 1 1
2 3 2 1
3 1 3 2
4 2 1 3
5 3 3 3
6 2 2 2
7 1 2 3
8 2 3 1
9 3 1 2
class=design, type= oa 

于是乎,oa.design无法用于双因素的正交设计。那么,只能往均匀设计试试。恰好,UniDOE包可以实现。示例如下:

// An highlighted block
n=8 #(must be multiples of q)
s=2
q=4
crit = "MD2"#(Mixture L2 criteria)
res = GenUD(n,s,q,crit=crit,maxiter=100)

> res$final_design
     [,1] [,2]
[1,]    1    3
[2,]    3    2
[3,]    4    1
[4,]    1    2
[5,]    4    4
[6,]    3    3
[7,]    2    1
[8,]    2    4

其中,n是试验次数(必须是因子水平数的倍数);s是因子数;q是因子水平数;crit是生成设计的方法。
但该包的均匀设计,存在一个问题,所有因子的水平数需要一样。而oa.design并未有此限定。

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值