こんにちは、
以前の入力変数に基づいて、DOE[]オブジェクトが1つの追加要素で機能するようにメッセージが送信されるスクリプトを作成したいと思います。
DOEデザインの生成は実行に時間がかかるため(約30秒)、無駄のない方法を探しています(たとえば、「makedesign」メッセージを送信する前に微調整します)。
理想的には、if句を使用して、前述のブール変数がtrueであるかどうかを確認し、trueの場合は、カスタムデザインに係数を追加します。
いくつかの「擬似コード」:
AddSpecialFactor = 1; /* decision rule to add factor, will be retrieved from a modal window based on some more complex molecule chemistry input */
D = DOE(
custom design,
Add Factor(continuous, "A",.....),
Add Factor( ...),
..
If (AddSpecialFactor = 1) then Add Factor(....),
Add Term(),
..
If (AddSpecialFactor = 1) then Add Term() ...,
すべての提案は大歓迎です
これは、デザインを生成するためのクールなアイデアです。
私はCSVからデザインを取得してDOEを生成するだけで作業していました。 https://community.jmp.com/t5/Byron-Wingerd-s-Blog/Automating-Design-Generation/ba-p/407039
スクリプトの概念でデータテーブルを生成し、上記のブログのスクリプトを使用してDOEプラットフォームをロードして実行すると機能する場合があります。
たぶん列名のリストを取得し、そのリストに特定の単語が含まれている場合は、適切な因子レベルで列を追加しますか?
ありがとうバイロン、
テーブルからロードするのはいいアイデアです。
RSM としてはより複雑なので、モデルを調整する必要がありますが、Peter Goos と Bradley Jones による出版物にあるように分岐要因があります。
Goos and Jones (2019) ネストされた要因の存在下での最適な実験計画。 テクノメトリクス。
https://doi.org/10.1080/00401706.2018.1562986
コードがテキスト形式でビルドされ、evaluate() 式に使用される例もありますか。
お気に入り:
DOECODE = "Part of the code " || if(..,) || etc...
.
.
DOEcommand = evaluate(DOECODE);
DOETable = (DOEcommand << Make Table);
このプロセスをスクリプト化する方法の例を次に示します。
Names Default to Here( 1 );
dialog = New Window( "Optional Factor", << Modal,
Outline Box( "Choice",
Text Box( "Add X4?" ),
Text Box( "Click OK to add" ),
Text Box( "Click Cancel to skip" )
),
H List Box(
Button Box( "OK" ),
Button Box( "Cancel" )
)
);
doe = DOE( Custom Design,
{Add Response( Maximize, "Y", ., ., . ),
Add Factor( Continuous, -1, 1, "X1", 0 ),
Add Factor( Continuous, -1, 1, "X2", 0 ),
Add Factor( Continuous, -1, 1, "X3", 0 ), Set Random Seed( 30650037 ),
Add Term( {1, 0} ), Add Term( {1, 1} ), Add Term( {2, 1} ), Add Term( {3, 1} ),
Add Term( {1, 1}, {2, 1} ), Add Term( {1, 1}, {3, 1} ),
Add Term( {2, 1}, {3, 1} ), Set Sample Size( 12 ), Simulate Responses( 0 ),
Save X Matrix( 0 )}
);
// add 4th factor and the associated main effect and interaction terms
If( dialog["Button"] == 1,
doe
<< Add Factor( Continuous, -1, 1, "X4", 0 )
<< Add Term( {4, 1} )
<< Add Term( {1, 1}, {4, 1} )
<< Add Term( {2, 1}, {4, 1} )
<< Add Term( {3, 1}, {4, 1} )
);