Plattformausgaben in JSL-Variablen<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo alle
Können Sie Faktoren/Daten/Auswahlen aus einer Plattformausgabe in JSL ziehen?
Ich habe derzeit zwei Skripte, die ich gerne zusammenführen würde. Der erste importiert eine Excel-Datei und erstellt ein Verteilungsskript mit „Fit Distribution (All)“, damit der Benutzer den besten Fit-Typ auswählen und die Parameter erhalten kann. Kann ich JSL dazu bringen, zu lesen, was der Benutzer ausgewählt hat und welche Parameter er hat? Ich denke, dass ich über JSL ein neues Fenster mit den Verteilungen und Anpassungen erstellen muss (im Gegensatz zu jetzt sende ich ein Skript an die Datentabelle, die durch Öffnen der Excel-Datei erstellt wurde, und führe es dann aus) und dann eine Schaltfläche „Weiter“ haben muss darunter. Ich weiß nicht, was ich mit dieser Schaltfläche tun soll, um das ausgewählte Feld und die entsprechenden Parameter zu ermitteln. Ich weiß auch nicht, dass kein Feld ausgewählt ist, sodass ich eine Zufallsstichprobe oder eine diskrete Stichprobe über eine Matrix im Vergleich zu einer kontinuierlichen Anpassungsfunktion ausführen kann.
Ich mache ein Monte-Carlo-Verfahren und benötige alle Anpassungstypen und Parameter, um für jeden die Zufallsfunktion auszuführen.
Danke schön.
Betreff: Plattformausgaben in JSL-VariablenDanke @ian_jmp . Diese Baumstruktur hilft mir zu verstehen, was ich spiele. Ich habe mich bei der XPath-Funktion verlaufen, aber dieser Link führte mich zu „Get XML“, was ebenfalls hilfreich war.Das Problem, auf das ich stoße, ist, dass die Reihenfolge 0/1, die von '...[checkboxbox(1)]<Betreff: Plattformausgaben in JSL-Variablen
Bezüglich der Frage „Gibt es eine Möglichkeit, ... anzuzeigen?“: Sobald Sie ein Berichtsfenster geöffnet haben, klicken Sie mit der rechten Maustaste auf einen Gliederungsknoten und wählen Sie „Bearbeiten > Baumstruktur anzeigen“. Vielleicht möchten Sie auch Threads zu „XPath“ lesen, z Dieses hier .
Betreff: Plattformausgaben in JSL-VariablenHallo @Jeff_Perkinson . Dieser Code ist wieder zum Leben erwacht und ich versuche, dasselbe Problem erneut zu lösen.@MS Die Lösung von hat in JMP 11 funktioniert, aber ich kann sie in JMP 13 nicht zum Laufen bringen, da sich die Namenskonvention anscheinend geändert hat (wie bereits gewarnt). Es hat sich nicht nur die Reihenfolge geändert, sondern es scheint auch zwischen den Distributionen nicht mehr dieselbe zu sein – weder in der Reihenfolge, in der sie in der GUI aufgelistet sind (von AICc) oder eine beliebige Reihenfolge als @MS schon einmal gefunden (soweit ich das beurteilen kann, siehe Beispiel unten).
Gibt es eine Möglichkeit, alle Komponenten eines Berichts anzuzeigen, damit ich erkunden kann, welche Daten vorhanden sind und herausfinden kann, was ich benötige? Woher wussten Sie, dass „[tablebox(1)]“ oder „rdist[Outline Box( „Compare Distributions“ )][1][1]“ gültige Syntaxen sind? Danke Leute. Entschuldigung, dass ich es nie als Antwort markiert habe.
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);
Standardwerte sind Weibull für m1 und LogNoraml für 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);
Wechseln Sie jeweils zur zweiten Option, ExtremeValue für m1 und Gamma für 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];
Betreff: Plattformausgaben in JSL-VariablenEs scheint eine interne Reihenfolge der Verteilungen zu geben, die unabhängig vom Ergebnis der automatischen Sortierung beibehalten wird. Wenn diese Reihenfolge stabil ist, kann sie wie im folgenden Beispiel fest codiert werden. Beachten Sie jedoch, dass sich die Anzahl der Verteilungen sowie die Reihenfolge (und Schreibweise?) in zukünftigen Versionen von JMP ändern können.
Dieser Code funktioniert für mich in JMP 11. Die ausgewählten Verteilungen und Parameterschätzungen werden in einem assoziativen Array als Schlüssel bzw. Werte gespeichert, es gibt aber natürlich auch andere Optionen (z. B. Datentabellen).
dt = Offen ( „$SAMPLE_DATA/Big Class.jmp“ ) ;
dist = Verteilung ( Kontinuierliche Verteilung ( Spalte ( : Gewicht ) , Fit-Verteilung ( Alle ) ) , Nur Histogramme ) ;
// Liste der Distributionsnamen in ihrer „wahren“ Reihenfolge
L = { "Normal" , „LogNormal“ , „2 Parameter Weibull“ , "Exponentiell" , "Gamma" , „Johnson Su“ , „Johnson Sl“ , „Verallgemeinerter Logarithmus“ , "Extremer Wert" ,
„Normale 2 Mischung“ , „Normale 3-Mischung“ } ;
rdist = Bericht ( dist ) ;
// Schaltfläche mit Skript hinzufügen. Klicken Sie nach der manuellen Auswahl auf .
rdist << voranstellen (
Button-Box ( „Klicken Sie, wenn Sie fertig sind“ ,
// Finden Sie die wahre Position ausgewählter Elemente (nicht die, die die automatisch sortierte Tabelle anzeigt)
M = [] ;
Für ( ich = 1 , ich <= 11 , ich ++,
M = M || ( rdist [ Gliederungsfeld ( „Verteilungen vergleichen“ )][ 1 ][ 1 ] << erhalten ( ich ))
) ;
Seldist = Wenn ( N-Reihe ( Ort ( M ) ) > 1 ,
L [ Ort ( M )] ,
Bewertungsliste ( { L [ Ort ( M )]} )
) ; // Ausgewählte Distribution(en)
aa = Assoziatives Array () ; // Zum Speichern von Parameterschätzungen
// Werte einfügen
Für ( ich = 1 , ich <= N-Reihe ( Ort ( M ) ) , ich ++,
aa << insertitem ( Seldist [ ich ] , Matrix ( rdist [ Gliederungsfeld ( „Angepasst“ || Seldist [ ich ] )][ Nummernfeld ( "Schätzen" )] << erhalten ) )
) ;
Zeigen ( Seldist ) ;
Zeigen ( aa ) ;
)
) ;
Betreff: Plattformausgaben in JSL-VariablenHallo Claus,
Ich arbeite immer noch daran, herauszufinden, welches Kontrollkästchen aktiviert ist.
Wenn Sie sich jedoch darauf verlassen, dass JMP die beste Anpassung auswählt, wird diese Tabelle immer die erste sein, da wir diese Tabelle nach aufsteigendem AICc sortieren, und etwa Folgendes wird funktionieren:
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
Betreff: Plattformausgaben in JSL-VariablenTitel geändert, um zu sehen, ob ich Hilfe bekommen kann. Die Daten müssen da sein, aber ich habe sie nicht bekommen können. Ich habe beim Erstellen des Anzeigefensters versucht, mit der Funktion „Eigenschaften anzeigen“ herumzuspielen, kann aber nicht herausfinden, wie ich die aktivierten Elemente und Parameterwerte zurückziehen kann. Wenn ich meine eigene Kontrollkästchenliste und -tabelle erstellen würde, könnte ich sie erhalten, aber nicht mit JMP ... Es selbst zu erstellen ist keine Option, da ich die Plattform brauche, um die Arbeit zu erledigen.
Betreff: JSL: Eingaben von Distributionsplattform-Ausgaben für Monte Carlo in JSL abrufenStoßen.
Ich möchte die Daten unten in Rot wieder in JSL übernehmen. Ich weiß, wie JSL das Folgende erstellen kann, aber nicht, um die vom Benutzer ausgewählten Anpassungsfunktionen und dann die Parameter für diese Funktion für jede Verteilung wieder in JSL zu erhalten. Danke.
