Plate-forme JSL et DOE[] pour la conception personnalisée, pouvez-vous conditionnellement "Ajouter un facteur" en fonction de la valeur d'une variable à partir d'une fenêtre modale ?Bonjour,
Je voudrais créer un script, où basé sur une variable d'entrée précédente, l'objet DOE [] est envoyé pour fonctionner avec un facteur supplémentaire.
La génération de conception DOE est maintenant lourde à exécuter (environ 30 secondes), je recherche donc une méthode allégée (par exemple, modifiez-la avant d'envoyer le message «faire la conception»).
Idéalement, j'aimerais travailler avec une clause if, vérifier si une variable booléenne est vraie et, le cas échéant, ajouter le facteur à la conception personnalisée.
Quelques "pseudocodes":
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() ...,
Toutes les suggestions sont plus que bienvenues
ScriptRe : Plate-forme JSL et DOE[] pour la conception personnalisée, pouvez-vous conditionnellement "ajouter un facteur" en fonction de la valeur d'une variable à partir d'une fenêtre modale ?C'est une bonne idée pour la génération de design.
Je travaillais simplement à prendre des conceptions à partir d'un CSV et à générer des DOE. https://community.jmp.com/t5/Byron-Wingerd-s-Blog/Automating-Design-Generation/ba-p/407039
Il peut être utile que votre concept de script génère une table de données, puis utilise le script du blog ci-dessus pour charger et exécuter la plate-forme DOE.
Peut-être obtenir une liste de noms de colonnes, et si cette liste contient certains mots, ajouter des colonnes avec les niveaux de facteur appropriés ?
Re : Plate-forme JSL et DOE[] pour la conception personnalisée, pouvez-vous conditionnellement "ajouter un facteur" en fonction de la valeur d'une variable à partir d'une fenêtre modale ?Merci Byron,
Le chargement à partir d'une table est une bonne idée.
Bien que je doive ajuster le modèle car il est plus compliqué en tant que RSM : il a des facteurs de branchement comme dans la publication de Peter Goos et Bradley Jones :
Goos et Jones (2019) Conception expérimentale optimale en présence de facteurs imbriqués. Technométrie.
https://doi.org/10.1080/00401706.2018.1562986
Avez-vous également des exemples où le code est construit au format texte, puis utilisé pour une expression d'évaluation ().
Comme:
DOECODE = "Part of the code " || if(..,) || etc...
.
.
DOEcommand = evaluate(DOECODE);
DOETable = (DOEcommand << Make Table);
Re : Plate-forme JSL et DOE[] pour la conception personnalisée, pouvez-vous conditionnellement "ajouter un facteur" en fonction de la valeur d'une variable à partir d'une fenêtre modale ?Voici un exemple de la façon dont vous pourriez scripter ce processus.
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} )
);Re : Plate-forme JSL et DOE[] pour la conception personnalisée, pouvez-vous conditionnellement "Ajouter un facteur" en fonction de la valeur d'une variable à partir d'une fenêtre modale ?Merci !
Cela fonctionne à merveille 