So verwenden Sie RadioboxenIch bin ganz neu in der JMP-Skripterstellung und versuche, mir das selbst beizubringen. Ich habe eine Radiobox erstellt:
New Window( "Example",
panelbox("Confidence Interval",
rb = Radio Box(
{"90%", "95%", "98%", "99%"},
Show( rb << Get() ),
),
Meine aktuelle Frage ist, wie kann ich die Variable rb verwenden?
Ich habe diese if(then)-Anweisung ausprobiert:
If(
:rb == "95%",
// then
:x = 1.96,
:rb == "90%", :x = 1.645,
:rb == "98%", :x = 2.326,
:rb == "99%", :x = 2.576,
)
aber erhalte diese Fehlermeldung: „Name ungelöst: rb im Zugriff oder Auswertung von ‚rb‘, :rb/*###*/“
Hier ist der gesamte Code.
Names Default To Here( 1 );
computeResults = Expr(
If(
:rb == "95%",
// then
:x = 1.96,
:rb == "90%", :x = 1.645,
:rb == "98%", :x = 2.326,
:rb == "99%", :x = 2.576,
)
);
New Window( "Example",
Panel Box( "Confidence Interval",
rb = Radio Box(
{"90%", "95%", "98%", "99%"},
Show( rb << Get() ),
),
),
H Center Box( Button Box( "Calculate Minimum Sample Size", computeResults ) ),
V List Box( Text Box( "" ), ciolb = Panel Box( "Result", x = Number Edit Box( "" ) ) )
);
Vielen Dank für jede Hilfe oder Anregung. Ich werde das Skripthandbuch lesen und später noch einmal vorbeischauen.
Betreff: So verwenden Sie RadioboxenJa, das sehe ich. Ich wollte nur die Theorie überprüfen. Danke noch einmal.
Betreff: So verwenden Sie RadioboxenDas kannst du machen. Da in Ihrem Fall jedoch x in Ihrem Anzeigefenster verwendet wird, müssen Sie verstehen, dass x nicht mehr auf das Zahlenbearbeitungsfeld verweistBetreff: So verwenden Sie RadioboxenIch glaube, ich verstehe, was vor sich geht. Hoffentlich LETZTE Frage.
Wenn ich eine Variable z. B. x = 3 setze, sieht es so aus, als ob ich x später „zurücksetzen“ kann, um x = z+ y ohne Fehler (zumindest Syntaxfehler) zu sagen. Hab ich recht?
Betreff: So verwenden Sie RadioboxenSet und Get sind genaue Gegensätze.Wenn wir uns ansehen
Match( self << Get Selected,
"95%", x << Set( 1.96 ); z = x << get;,
"90%", x << Set( 1.645 ); z = x << get;,
"98%", x << Set( 2.326 ); z = x << get;,
"99%", x << Set( 2.576 ); z = x << get;
)
Die Variable „X“ zeigt auf ein Anzeigeobjekt.Um also mit einem Anzeigeobjekt zu kommunizieren, übergibt man Nachrichten an das Objekt.Um dem Objekt also einen Wert zuzuweisen, übergibt man die Nachricht an das Objekt, um den Wert zu „setzen“.Daher,
x << Set( 1.96 );
Die Variable „Z“ ist nur eine Speichervariable (ein Skalierungswert).Um einer Skalierungsvariablen einen Wert zuzuweisen, verwendet man einfach ein „=", wie zum Beispiel
a = 42;
theParameterValue = b + c * 24;
aber in Ihrem Fall möchten Sie die Skalierungsvariable „Z“ auf den Wert des Anzeigeobjekts „X“ setzen.Dazu verwendet man also „=“, um den Wert der Variablen „Z“ zuzuweisen, muss aber die Nachricht „<< get“ an das Anzeigeobjekt „X“ übergeben, um seinen aktuellen Wert abzurufen.
z = x << get;
Die Aussagen hätten auch lauten können:
x << Set( 1.96 ); z = 1.96;
was vielleicht verständlicher gewesen wäre.
Betreff: So verwenden Sie RadioboxenDas fühlt sich sehr unintuitiv an. Set und Get sind also ähnlich, aber unterschiedlich. Nochmals vielen Dank für die Anleitung.
Betreff: So verwenden Sie RadioboxenDas Problem, das Sie haben, ist, dass Sie ein wenig verwirrt sind, was die Variable „X“ ist.Im Code das @vince_faller Vorausgesetzt, „X“ ist einem DisplayBox-Objekt zugeordnet.Genauer gesagt handelt es sich um ein NumberEditBox()-Anzeigeobjekt.Die NumberEditBox() ist ein Objekt in Ihrem Fenster.Um die Werte im Objekt festzulegen und abzurufen, verwenden Sie <<z = x << get;
Die meisten Skripte sind jedoch so strukturiert, dass sie ein Fenster zum Abrufen und Festlegen von Informationen anzeigen, das Fenster dann aber schließen, um weitere Berechnungen durchzuführen.Daher verschiebt man typischerweise die erforderlichen Werte aus den Anzeigeobjekten in Standard-JSL-Skalierer, Listen oder Matrizen.Für NumberEditBox() verwende ich normalerweise eine einfache <
New Window( "Example",
Panel Box( "Confidence Interval",
rb = Radio Box(
{"90%", "95%", "98%", "99%"},
<<SET function=""></SET>
oder Sie könnten tatsächlich einfach den Z-Wert in der Radito Box() festlegen
New Window( "Example",
Panel Box( "Confidence Interval",
rb = Radio Box(
{"90%", "95%", "98%", "99%"},
<<SET function=""></SET>
Betreff: So verwenden Sie RadioboxenÄhmmm....
Ich habe diesen Code verwendet:
Match( rb << Get Selected,
"95%", x << Set( 1.96 ),
"90%", x << Set( 1.645 ),
"98%", x << Set( 2.326 ),
"99%", x << Set( 2.576 )
);
um den Z-Score für ein ausgewähltes CI über Optionsfelder anzuzeigen. Das zugewiesene x und der korrekte z-Score werden angezeigt.
Ich möchte jetzt den Z-Score in einer Formel verwenden, erhalte jedoch diese Fehlermeldung:
Send erwartet ein skriptfähiges Objekt beim Zugriff oder bei der Auswertung von „Send“, z << /*###*/Set( 1.96 ) /*###*/
Ist der im obigen Code erhaltene x-Wert kein numerischer Wert, den ich in einer Formel verwenden kann? Gibt es eine Möglichkeit, es zu „erzwingen“, dass es numerisch ist/sich verhält?
Betreff: So verwenden Sie RadioboxenVielen Dank für den Hinweis, ich werde mir das auf jeden Fall genau ansehen.
Betreff: So verwenden Sie RadioboxenSie erwähnen, dass Sie JSL selbst unterrichten.Vor diesem Hintergrund empfehle ich Ihnen, sich die Zeit zu nehmen, den Scripting Guide zu lesen
Hilfe==>Bücher==>Skripthandbuch
und dass Sie mit dem Scripting Index sehr vertraut werden.Im Index finden Sie alle Nachrichten usw., die an die Funktionen und Objekte gesendet werden können, und geben Ihnen jeweils Beispiele.Unten finden Sie das Beispiel, auf das im Abschnitt des Leitfadens für Radio Button() verwiesen wird, wobei eine Set Function() für die Verarbeitung verwendet wird

Betreff: So verwenden Sie RadioboxenVielen Dank für die Antwort. Ich werde mich auf jeden Fall mehr mit Match und der von Ihnen vorgeschlagenen „Set-Funktion“ befassen. Danke nochmal!
Betreff: So verwenden Sie RadioboxenSie legen den Gültigkeitsbereich der Variablen als Spalten fest, wenn Sie :rb ausführen.Sie müssen den Grafikobjekten << Nachrichten senden.
Names Default To Here( 1 );
computeResults = Expr(
match(rb << Get Selected,
"95%", x << Set(1.96),
"90%", x << Set(1.645),
"98%", x << Set(2.326),
"99%", x << Set(2.576)
);
);
New Window( "Example",
Panel Box( "Confidence Interval",
rb = Radio Box(
{"90%", "95%", "98%", "99%"},
Show( rb << Get() ),
),
),
H Center Box( Button Box( "Calculate Minimum Sample Size", computeResults ) ),
V List Box( Text Box( "" ), ciolb = Panel Box( "Result", x = Number Edit Box( "" ) ) )
);
//Or you could make the radiobox actually just change it
New Window( "Example",
Panel Box( "Confidence Interval",
rb = Radio Box(
{"90%", "95%", "98%", "99%"},
<<SET function=""></SET>Betreff: So verwenden Sie RadioboxenBearbeiten: Es tut mir leid, das Ziel besteht darin, zu erkennen, welches Optionsfeld markiert ist, und dann den Z-Score auszudrucken.