Messages JSL à Fit GroupSerait-il difficile de concevoir JSL de sorte que les messages envoyés à Fit Group soient envoyés à TOUTES les instances de Fit Model au sein du groupe ?
Par exemple, si j'utilise Enregistrer le script dans la table de données sur un groupe d'ajustement, puis je souhaite ajouter un seul bloc de code pour effectuer la même analyse sur tous les modèles d'ajustement de ce groupe d'ajustement, puis-je le faire ? Je sais que je peux rechercher et remplacer les appels Fit Model et insérer une copie de mon code pour chaque modèle.
J'espère que cela a du sens.
Re : Messages JSL à Fit GroupC'est une super nouvelle. Et JMP 15 est très bien. JSL est suffisamment flexible dans ce cas pour que je puisse faire le travail en utilisant le code que j'ai déjà fourni ici. Il m'a juste fallu investir du temps pour comprendre comment faire fonctionner cela. Ce serait bien d'avoir une approche plus simple en 15.
Re : Messages JSL à Fit GroupMerci, Michel. Ça a du sens.
J'ai enregistré la demande et saisi l'ID de défaut ci-dessus.
J'ai aussi parlé avec @John_Sall qui a dit qu'il avait compris et pensé qu'il pourrait peut-être accueillir quelque chose comme ça dans JMP 15.
Re : Messages JSL à Fit GroupJeff,
Actuellement, j'adopte une approche créative à ce sujet. Dans le code suivant, "script" et "multicomp" sont des expressions que j'ai définies plus tôt dans le code. "script" est un appel Fit Group. "multicomp" est une expression dirigeant les Comparaisons Multiples(...).
newscript = Expr(Fit Group());
For(i=1,i<=N Arg(script),i++,
// look for Fit Model calls
If( Char( Head( Arg(script,i) ) ) == "Fit Model()",
workingarg = Expr(Fit Model());
// add multicomp request to Run argument, pass all other arguments through
For(k=1,k<=N Arg(Arg(script,i)),k++,
workingarglevel2 = Arg( Arg(script,i), k );
If( Char( Head( workingarglevel2 ) ) == "Run",
Insert Into(workingarglevel2, Name Expr(multicomp));
);
Insert Into(workingarg, Name Expr(workingarglevel2));
);
// make assignment function to store each fit model into list
assignment = Expr(Assign());
Insert Into(assignment, Substitute(Expr(fm[__i__]), Expr(__i__), i));
Insert Into(assignment, Name Expr(workingarg));
Insert Into(newscript, Name Expr(assignment));
,
// if not Fit Model, we just pass the argument through to Fit Group
Insert Into(newscript, Arg(script,i))
);
);Ce serait beaucoup plus facile si je pouvais simplement faire un script << Comparaisons multiples (...). Cela laisse encore le casse-tête de la façon dont je vais définir ma liste "fm" que vous voyez également référencée dans le code, j'en ai besoin pour obtenir les rapports pour chaque ajustement dans le groupe Fit afin que je puisse extraire les informations de Comparaisons multiples (...) mais c'est peut-être un casse-tête pour un autre jour.
Si j'essaie de diffuser un argument à Fit Group qui ne s'applique pas à tous les membres du groupe (par exemple, je sais qu'il n'y a pas de comparaisons multiples (...) dans le processus gaussien), JMP peut-il simplement ignorer la demande là où elle ne le fait pas ça marche pas ? Quelque chose comme la façon dont Try(...) fonctionne ? C'est presque comme si je fais Send(msg, fg) que tout ce que nous avons à faire est de parcourir chaque élément de "fg" et de faire Try(Send(msg, elements[i])) ?
Espérons que cette clarification ait plus de sens.
Michael
Re : Messages JSL à Fit GroupPouvez-vous fournir un exemple du "bloc de code unique pour faire la même analyse" ? Voulez-vous dire que vous voulez adapter le même modèle à chaque réponse ?
Un problème est que Fit Group() peut avoir plusieurs types d'ajustement, pas seulement Fit Model. Par exemple:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Tiretread.jmp" );
obj = Fit Group(
Fit Model(
Y( :ABRASION ),
Effects(
:SILICA & RS,
:SILANE & RS,
:SULFUR & RS,
:SILICA * :SILICA,
:SILICA * :SILANE,
:SILANE * :SILANE,
:SILICA * :SULFUR,
:SILANE * :SULFUR,
:SULFUR * :SULFUR
),
Personality( Standard Least Squares ),
Emphasis( Minimal Report ),
Run()
),
Gaussian Process(
Y( :HARDNESS ),
X( :SILICA, :SILANE, :SULFUR ),
Set Correlation Function( "Cubic" )
)
);
Objet : Messages JSL à Fit Group – Statut modifié en : Enquête en coursRe: Messages JSL à Fit Group - Statut modifié à : Accusé de réception