如何使用單選框我對 JMP 腳本編寫是全新的,正在嘗試自學。 我創建了一個單選框:
New Window( "Example",
panelbox("Confidence Interval",
rb = Radio Box(
{"90%", "95%", "98%", "99%"},
Show( rb << Get() ),
),
我當前的問題是如何使用變量 rb?
我嘗試了這個 if(then) 語句:
If(
:rb == "95%",
// then
:x = 1.96,
:rb == "90%", :x = 1.645,
:rb == "98%", :x = 2.326,
:rb == "99%", :x = 2.576,
)
但收到此錯誤消息:“名稱未解析:rb 正在訪問或評估 'rb' ,:rb/*###*/”
這是完整的代碼。
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( "" ) ) )
);
感謝您的任何幫助或建議。 我將閱讀腳本手冊並稍後再回來查看。
回复:如何使用單選框是的,我明白了。 我只是想驗證這個理論。 再次感謝。
回复:如何使用單選框你可以這麼做。 但在你的情況下,由於 x 在你的顯示窗口中使用,你需要了解 x 將不再指向 numbereditbox回复:如何使用單選框我想我了解正在發生的事情。 希望最後一個問題。
如果我設置一個變量 x = 3 ,看起來我可以稍後“重置”x 說 x = z+ y 而不會出現錯誤(至少是語法錯誤)。 我對麼?
回复:如何使用單選框Set 和 Get 是完全相反的。如果我們看一下
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;
)
變量“X”指向一個顯示對象。因此,為了與顯示對象進行通信,需要將消息傳遞給該對象。因此,為了給對象分配一個值,需要將消息傳遞給對像以“設置”該值。因此,
x << Set( 1.96 );
變量“Z”只是一個內存變量(縮放值)。要將值分配給定標器變量,只需使用“=”,例如
a = 42;
theParameterValue = b + c * 24;
但在您的情況下,您希望將縮放器變量“Z”設置為顯示對象“X”中的值。為此,需要使用“=”將值賦給變量“Z”,但必須將消息“<< get”傳遞給顯示對象“X”以檢索其當前值。
z = x << get;
這些語句也可以寫成:
x << Set( 1.96 ); z = 1.96;
這可能更容易理解。
回复:如何使用單選框這感覺很不直觀。 所以 Set 和 Get 相似但不同。 再次感謝您的指導。
回复:如何使用單選框您遇到的問題是您對“X”變量是什麼有點困惑。在代碼中@vince_faller假設“X”與 DisplayBox 對象相關聯。更具體地說,它是一個 NumberEditBox() 顯示對象。NumberEditBox() 是窗口中的一個對象。要設置和獲取對像中的值,請使用 <<
z = x << get;
然而,大多數腳本的結構是顯示一個窗口來獲取和設置信息,然後關閉該窗口以進行進一步的計算。因此,通常將所需的值從顯示對象移至標準 JSL 縮放器、列表或矩陣中。對於 NumberEditBox(),我通常使用簡單的 <
New Window( "Example",
Panel Box( "Confidence Interval",
rb = Radio Box(
{"90%", "95%", "98%", "99%"},
<<SET function=""></SET>
或者你實際上可以在 Radito Box() 中設置 z 值
New Window( "Example",
Panel Box( "Confidence Interval",
rb = Radio Box(
{"90%", "95%", "98%", "99%"},
<<SET function=""></SET>
回复:如何使用單選框嗯……
我使用了這段代碼:
Match( rb << Get Selected,
"95%", x << Set( 1.96 ),
"90%", x << Set( 1.645 ),
"98%", x << Set( 2.326 ),
"99%", x << Set( 2.576 )
);
通過單選按鈕顯示所選 CI 的 z 分數。 顯示分配的 x 和正確的 z 分數。
我現在想在公式中使用 z 分數,但收到此錯誤:
Send 在訪問或評估 'Send' 時需要可編寫腳本的對象,z << /*###*/Set( 1.96 ) /*###*/
上述代碼中獲得的 x 值不是我可以在公式中使用的數值嗎? 有沒有辦法“強制”它是/表現為數字?
回复:如何使用單選框感謝您的提醒,肯定會仔細檢查。
回复:如何使用單選框您提到您正在自學 JSL。鑑於此,我建議您花時間閱讀腳本指南
幫助==>書籍==>腳本指南
並且您對腳本索引變得非常熟悉。在索引中,您將找到可以發送到函數和對象的所有消息等,並將為您提供每個消息的示例。下面是 Radio Button() 指南部分中引用的示例,使用 Set Function() 進行處理

回复:如何使用單選框非常感謝你的回复。 我一定會更多地研究匹配和你建議的“設置函數”。 再次感謝你!
回复:如何使用單選框當您執行 :rb 時,您將變量的範圍限定為列。您必鬚髮送圖形對象<<消息。
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>回复:如何使用單選框編輯:抱歉,目標是識別標記了哪個單選框,然後打印出 z 分數。