Rによる実験計画一覧です。参照元はこちらです。
- 要因配置計画
- 一部実施要因配置計画
- Plackett-Burmann(プラケット-バーマン)計画
- 分割法
- Central Composite Design(中心複合計画)
- Box-Behnken(ボックス-ベンケン)計画
- Definitive Screening Design(決定的スクリーニング計画)
- D最適計画
要因配置計画
パッケージFrF2の関数FrF2を使用。nrunsに2のnfactors乗の値を指定する。
> library(FrF2) > #要因配置計画 > FrF2(nruns=16,nfactors=4, randomize=F) creating full factorial with 16 runs ... A B C D 1 -1 -1 -1 -1 2 1 -1 -1 -1 3 -1 1 -1 -1 4 1 1 -1 -1 5 -1 -1 1 -1 6 1 -1 1 -1 7 -1 1 1 -1 8 1 1 1 -1 9 -1 -1 -1 1 10 1 -1 -1 1 11 -1 1 -1 1 12 1 1 -1 1 13 -1 -1 1 1 14 1 -1 1 1 15 -1 1 1 1 16 1 1 1 1 class=design, type= full factorial
一部実施要因配置計画
パッケージFrF2の関数FrF2を使用。nrunsに2のnfactors乗の半分、4分の1などの値を指定する。
> #一部実施要因配置計画 > library(FrF2) > FrF2(nrun=8,nfactors=4, randomize=F) A B C D 1 -1 -1 -1 -1 2 1 -1 -1 1 3 -1 1 -1 1 4 1 1 -1 -1 5 -1 -1 1 1 6 1 -1 1 -1 7 -1 1 1 -1 8 1 1 1 1 class=design, type= FrF2
Plackett-Burmann(プラケット-バーマン)計画
> #12試行11要因のPlackett-Burmann計画 > library(FrF2)
> pb(nruns = 12) A B C D E F G H J K L 1 -1 1 1 1 -1 -1 -1 1 -1 1 1 2 1 -1 -1 -1 1 -1 1 1 -1 1 1 3 -1 -1 -1 1 -1 1 1 -1 1 1 1 4 1 1 1 -1 -1 -1 1 -1 1 1 -1 5 1 1 -1 -1 -1 1 -1 1 1 -1 1 6 -1 1 1 -1 1 1 1 -1 -1 -1 1 7 1 1 -1 1 1 1 -1 -1 -1 1 -1 8 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 9 -1 1 -1 1 1 -1 1 1 1 -1 -1 10 -1 -1 1 -1 1 1 -1 1 1 1 -1 11 1 -1 1 1 -1 1 1 1 -1 -1 -1 12 1 -1 1 1 1 -1 -1 -1 1 -1 1 class=design, type= pb
分割法
パッケージFrF2の関数FrF2を使用。分割法なので、repplications(反復)に2以上を設定する。hardにはWhole-plot要因の数を指定する。factorの先頭からhard個の要因がWhole-plotとなる。分割法についてはこちら。
Central Composite Design(中心複合計画)
> library(rsm)
> ccd(basis = 4, randomize = F) run.order std.order x1.as.is x2.as.is x3.as.is x4.as.is Block 1 1 1 -1.00000 -1.00000 -1.00000 -1.00000 1 2 2 2 1.00000 -1.00000 -1.00000 -1.00000 1 3 3 3 -1.00000 1.00000 -1.00000 -1.00000 1 4 4 4 1.00000 1.00000 -1.00000 -1.00000 1 5 5 5 -1.00000 -1.00000 1.00000 -1.00000 1 6 6 6 1.00000 -1.00000 1.00000 -1.00000 1 7 7 7 -1.00000 1.00000 1.00000 -1.00000 1 8 8 8 1.00000 1.00000 1.00000 -1.00000 1 9 9 9 -1.00000 -1.00000 -1.00000 1.00000 1 10 10 10 1.00000 -1.00000 -1.00000 1.00000 1 11 11 11 -1.00000 1.00000 -1.00000 1.00000 1 12 12 12 1.00000 1.00000 -1.00000 1.00000 1 13 13 13 -1.00000 -1.00000 1.00000 1.00000 1 14 14 14 1.00000 -1.00000 1.00000 1.00000 1 15 15 15 -1.00000 1.00000 1.00000 1.00000 1 16 16 16 1.00000 1.00000 1.00000 1.00000 1 17 17 17 0.00000 0.00000 0.00000 0.00000 1 18 18 18 0.00000 0.00000 0.00000 0.00000 1 19 19 19 0.00000 0.00000 0.00000 0.00000 1 20 20 20 0.00000 0.00000 0.00000 0.00000 1 21 1 1 -2.19089 0.00000 0.00000 0.00000 2 22 2 2 2.19089 0.00000 0.00000 0.00000 2 23 3 3 0.00000 -2.19089 0.00000 0.00000 2 24 4 4 0.00000 2.19089 0.00000 0.00000 2 25 5 5 0.00000 0.00000 -2.19089 0.00000 2 26 6 6 0.00000 0.00000 2.19089 0.00000 2 27 7 7 0.00000 0.00000 0.00000 -2.19089 2 28 8 8 0.00000 0.00000 0.00000 2.19089 2 29 9 9 0.00000 0.00000 0.00000 0.00000 2 30 10 10 0.00000 0.00000 0.00000 0.00000 2 31 11 11 0.00000 0.00000 0.00000 0.00000 2 32 12 12 0.00000 0.00000 0.00000 0.00000 2
Box-Behnken(ボックス-ベンケン)計画
> library(rsm) > bbd(k=4, randomize = F) run.order std.order Block x1.as.is x2.as.is x3.as.is x4.as.is 1 1 1 1 -1 -1 0 0 2 2 2 1 1 -1 0 0 3 3 3 1 -1 1 0 0 4 4 4 1 1 1 0 0 5 5 5 1 0 0 -1 -1 6 6 6 1 0 0 1 -1 7 7 7 1 0 0 -1 1 8 8 8 1 0 0 1 1 9 9 9 1 0 0 0 0 10 10 10 1 0 0 0 0 11 11 11 1 0 0 0 0 12 12 12 1 0 0 0 0 13 13 13 2 -1 0 0 -1 14 14 14 2 1 0 0 -1 15 15 15 2 -1 0 0 1 16 16 16 2 1 0 0 1 17 17 17 2 0 -1 -1 0 18 18 18 2 0 1 -1 0 19 19 19 2 0 -1 1 0 20 20 20 2 0 1 1 0 21 21 21 2 0 0 0 0 22 22 22 2 0 0 0 0 23 23 23 2 0 0 0 0 24 24 24 2 0 0 0 0 25 25 25 3 -1 0 -1 0 26 26 26 3 1 0 -1 0 27 27 27 3 -1 0 1 0 28 28 28 3 1 0 1 0 29 29 29 3 0 -1 0 -1 30 30 30 3 0 1 0 -1 31 31 31 3 0 -1 0 1 32 32 32 3 0 1 0 1 33 33 33 3 0 0 0 0 34 34 34 3 0 0 0 0 35 35 35 3 0 0 0 0 36 36 36 3 0 0 0 0
Definitive Screening Design(決定的スクリーニング計画)
詳しくはこちらの記事をどうぞ。
> library(daewr)#DSDのためのパッケージ > DefScreen(m=8, c=0) A B C D E F G H 1 0 -1 1 1 -1 1 1 1 2 0 1 -1 -1 1 -1 -1 -1 3 -1 0 -1 1 1 1 1 -1 4 1 0 1 -1 -1 -1 -1 1 5 -1 -1 0 1 1 -1 -1 1 6 1 1 0 -1 -1 1 1 -1 7 1 -1 1 0 1 1 -1 -1 8 -1 1 -1 0 -1 -1 1 1 9 -1 -1 1 -1 0 -1 1 -1 10 1 1 -1 1 0 1 -1 1 11 1 -1 -1 -1 1 0 1 1 12 -1 1 1 1 -1 0 -1 -1 13 -1 1 1 -1 1 1 0 1 14 1 -1 -1 1 -1 -1 0 -1 15 1 1 1 1 1 -1 1 0 16 -1 -1 -1 -1 -1 1 -1 0 17 0 0 0 0 0 0 0 0
D最適計画
パッケージAlgDesignのoptFederovを使用。D最適計画は候補点から指定した数の条件を抜き出すため、事前に候補となる条件群を設定してやる必要がある。
詳しくはこちらの記事をどうぞ。
> library(AlgDesign) > A <- c(-1,0,1) > candidate <- expand.grid(A,A,A,A) > #条件の候補(一部抜粋) > candidate[1:5,] Var1 Var2 Var3 Var4 1 -1 -1 -1 -1 2 0 -1 -1 -1 3 1 -1 -1 -1 4 -1 0 -1 -1 5 0 0 -1 -1 > #D最適計画の選択。ここでは2次モデルquad(.)に対する最適計画を求める。 > optFederov(~quad(.), candidate, nTrials=22, criterion = "D", nRepeats = 10) $D [1] 0.4705411 $A [1] 4.113712 $Ge [1] 0.731 $Dea [1] 0.692 $design Var1 Var2 Var3 Var4 1 -1 -1 -1 -1 3 1 -1 -1 -1 8 0 1 -1 -1 13 -1 0 0 -1 18 1 1 0 -1 19 -1 -1 1 -1 21 1 -1 1 -1 25 -1 1 1 -1 27 1 1 1 -1 33 1 0 -1 0 34 -1 1 -1 0 37 -1 -1 0 0 50 0 0 1 0 56 0 -1 -1 1 57 1 -1 -1 1 58 -1 0 -1 1 63 1 1 -1 1 71 0 1 0 1 73 -1 -1 1 1 75 1 -1 1 1 79 -1 1 1 1 81 1 1 1 1 $rows #候補のうち、D最適計画を構成する条件の行番号 [1] 1 3 8 13 18 19 21 25 27 33 34 37 50 56 57 58 63 71 73 75 79 81