如何使用单选框我对 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 分数。