Sorties de la plateforme dans des variables JSL<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour à tous
Pouvez-vous extraire des facteurs/données/sélections d'une sortie de plate-forme vers JSL ?
J'ai actuellement 2 scripts que j'aimerais réunir. Le premier importe un fichier Excel et crée un script de distribution avec « Fit Distribution (All) » afin que l'utilisateur puisse sélectionner le meilleur type d'ajustement et obtenir les paramètres. Puis-je demander à JSL de lire ce que l'utilisateur a sélectionné et les paramètres ? Je pense que je devrai créer une nouvelle fenêtre via JSL avec les distributions et les ajustements (par rapport à l'heure actuelle, j'envoie un script à la table de données créée en ouvrant le fichier Excel, puis je l'exécute), puis j'ai un bouton "continuer". dessous. Je ne sais pas quoi faire avec ce bouton pour obtenir quelle case est sélectionnée et les paramètres correspondants, ou noter qu'aucune case n'est sélectionnée afin que je puisse exécuter un échantillonnage aléatoire ou un échantillonnage discret via une matrice par rapport à une fonction d'ajustement continu.
Je fais un Monte Carlo et j'ai besoin de chacun des types d'ajustement et de paramètres pour exécuter la fonction aléatoire pour chacun.
Merci.
Re : Sorties de la plateforme dans des variables JSLMerci @ian_jmp . Cette structure arborescente m'aide à comprendre ce à quoi je joue. Je me suis perdu dans la fonctionnalité XPath, mais ce lien m'a amené à « Obtenir XML », ce qui a également été utile.Le problème que je rencontre est que l'ordre 0/1 provenant de '...[checkboxbox(1)]<Re : Sorties de la plateforme dans des variables JSL
Concernant la question « Existe-t-il un moyen de voir... », alors, une fois qu'une fenêtre de rapport est ouverte, faites un clic droit sur un nœud de plan et sélectionnez « Modifier > Afficher l'arborescence ». Vous aimerez peut-être également consulter les discussions sur « XPath », telles que celui-ci .
Re : Sorties de la plateforme dans des variables JSLSalut @Jeff_Perkinson . Ce code est revenu à la vie et j'essaie à nouveau de résoudre ce même problème.@MS La solution de a fonctionné dans JMP 11 mais je n'arrive pas à la faire fonctionner dans JMP 13 car la convention de dénomination semble avoir changé (comme prévenu). Non seulement l'ordre a changé, mais il ne semble pas être le même entre les distributions - que ce soit dans l'ordre dans lequel elles sont répertoriées dans l'interface graphique (par AICc) ou un ordre arbitraire comme @MS trouvé auparavant (pour autant que je sache, voir l'exemple ci-dessous).
Existe-t-il un moyen de voir tous les composants d'un rapport afin de pouvoir explorer les données qui s'y trouvent et voir si je peux déterminer ce dont j'ai besoin ? Comment saviez-vous que "[tablebox(1)]" ou "rdist[Outline Box( "Compare Distributions" )][1][1]" étaient des syntaxes valides ? Merci les gars. Toutes mes excuses de ne jamais l'avoir marqué comme réponse.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dist1 = dt << Distribution( Continuous Distribution( Column( :height ), Fit Distribution( All ) ) );
dist2 = dt << Distribution( Continuous Distribution( Column( :weight ), Fit Distribution( All ) ) );
r1 = Report( dist1 );
r2 = Report( dist2 );
m1 = [];
For( i = 1, i <= 11, i++,
m1 = m1 || (r1[Outline Box( "Compare Distributions" )][1][1] << get( i ))
);
m2 = [];
For( i = 1, i <= 11, i++,
m2 = m2 || (r2[Outline Box( "Compare Distributions" )][1][1] << get( i ))
);
show(m1);
show(m2);
les valeurs par défaut sont Weibull pour m1 et LogNoraml pour m2
m1 = [0 0 0 0 0 0 1 0 0 0 0] ;
m2 = [0 0 0 0 1 0 0 0 0 0 0] ;
m1 = [];
For( i = 1, i <= 11, i++,
m1 = m1 || (r1[Outline Box( "Compare Distributions" )][1][1] << get( i ))
);
m2 = [];
For( i = 1, i <= 11, i++,
m2 = m2 || (r2[Outline Box( "Compare Distributions" )][1][1] << get( i ))
);
show(m1);
show(m2);
passez à la deuxième option sur chacun, ExtremeValue pour m1 et Gamma pour m2
m1 = [0 0 0 0 0 0 0 1 0 0 0] ;
m2 = [0 0 0 0 0 0 0 1 0 0 0] ;
Re : Sorties de la plateforme dans des variables JSLIl semble exister un ordre interne de distribution qui se maintient quel que soit le résultat du tri automatique. Si cet ordre est stable, il peut être codé en dur comme dans l'exemple ci-dessous. Attention cependant, le nombre de distributions ainsi que l'ordre (et l'orthographe ?) peuvent changer dans les futures versions de JMP.
Ce code fonctionne pour moi dans JMP 11. Les distributions sélectionnées et les estimations de paramètres sont stockées dans un tableau associatif respectivement sous forme de clés et de valeurs, mais il existe bien sûr d'autres options (par exemple des tableaux de données).
dt = Ouvrir ( "$SAMPLE_DATA/Grande Classe.jmp" ) ;
dist = Distribution ( Distribution continue ( Colonne ( : poids ) , Ajuster la distribution ( Tous ) ) , Histogrammes uniquement ) ;
// Liste des noms de distribution dans leur "vrai" ordre
L = { "Normale" , "LogNormal" , "Weibull à 2 paramètres" , "Exponentiel" , "Gamma" , "Johnson Su" , "Johnson SL" , "Logarithme généralisé" , "Valeur extrême" ,
"Mélange Normal 2" , "Mélange Normal 3" } ;
liste = Rapport ( dist ) ;
// Ajouter un bouton avec un script. Cliquez après la sélection manuelle.
liste << ajouter un préfixe (
Boîte à boutons ( "Cliquez lorsque vous avez terminé" ,
// Trouver la vraie position des éléments sélectionnés (pas ce que montre le tableau trié automatiquement)
m = [] ;
Pour ( je = 1 , je <= 11 , je ++,
m = m || ( liste [ Boîte de contour ( "Comparer les distributions" )][ 1 ][ 1 ] << obtenir ( je ))
) ;
seldiste = Si ( N rangée ( Lieu ( m ) ) > 1 ,
L [ Lieu ( m )] ,
Liste d'évaluation ( { L [ Lieu ( m )]} )
) ; // Distribution(s) sélectionnée(s)
aa = Tableau associatif () ; // Pour stocker les estimations de paramètres
// Insérer des valeurs
Pour ( je = 1 , je <= N rangée ( Lieu ( m ) ) , je ++,
aa << insérer un article ( seldiste [ je ] , Matrice ( liste [ Boîte de contour ( "Ajusté" || seldiste [ je ] )][ Boîte de numéro de colonne ( "Estimation" )] << obtenir ) )
) ;
Montrer ( Seldiste ) ;
Montrer ( aa ) ;
)
) ;
Re : Sorties de la plateforme dans des variables JSLSalut Claus,
Je travaille toujours pour comprendre comment déterminer quelle case est cochée.
Cependant, si vous comptez sur JMP pour sélectionner le meilleur ajustement, puisque nous trions ce tableau par AICc croissant, ce sera toujours le premier et quelque chose comme ceci fonctionnera :
dt=open("$SAMPLE_DATA/Big Class.jmp");
dist= dt << Distribution(
Continuous Distribution( Column( :height ), Fit Distribution( All ) )
);
r=report(dist);
disttype=r[outline box("Compare Distributions")][tablebox(1)][StringColBox(1)]<< get (1) ;
paramMatrix=r[outline box("?"||disttype)][outlinebox(1)][tablebox(1)][numberColBox(1)] << get as matrix;
paramList=r[outline box("?"||disttype)][outlinebox(1)][tablebox(1)][numberColBox(1)] << get;
show(disttype, paramMatrix, ParamList);
-Jeff
Re : Sorties de la plateforme dans des variables JSLTitre modifié pour voir si je peux obtenir de l'aide. Les données doivent être là, mais je n'ai pas pu les obtenir. J'ai essayé de jouer avec la fonction "Afficher les propriétés" lors de la création de la fenêtre d'affichage, mais je n'arrive pas à comprendre comment récupérer ce qui est coché et les valeurs des paramètres. Si je créais ma propre liste de cases à cocher et mon propre tableau, je pourrais les obtenir, mais pas avec JMP qui le ferait... Le créer moi-même n’est pas une option car j’ai besoin de la plateforme pour faire le travail.
Re : JSL : obtenir des entrées vers JSL à partir des sorties de la plate-forme de distribution pour Monte CarloBosse.
Je souhaite récupérer les données en rouge ci-dessous dans JSL. Je sais comment faire en sorte que JSL crée ce qui suit, mais pas pour récupérer la ou les fonctions d'ajustement sélectionnées par l'utilisateur, puis les paramètres de cette fonction dans JSL, pour chaque distribution. Merci.
