Cómo usar cajas de radioSoy nuevo en las secuencias de comandos de JMP y trato de aprender por mi cuenta. Creé una caja de radio:
New Window( "Example",
panelbox("Confidence Interval",
rb = Radio Box(
{"90%", "95%", "98%", "99%"},
Show( rb << Get() ),
),
Mi pregunta actual es ¿cómo puedo usar la variable rb?
Intenté esta declaración if (then):
If(
:rb == "95%",
// then
:x = 1.96,
:rb == "90%", :x = 1.645,
:rb == "98%", :x = 2.326,
:rb == "99%", :x = 2.576,
)
pero aparece este mensaje de error: "Nombre no resuelto: rb en acceso o evaluación de 'rb', :rb/*###*/"
Aquí está el código completo.
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( "" ) ) )
);
Gracias por cualquier ayuda o sugerencia. Leeré el manual de secuencias de comandos y volveré a consultar más tarde.
Re: Como usar cajas de radioSí, veo eso. Solo quería verificar la teoría. Gracias de nuevo.
Re: Como usar cajas de radioUsted puede hacer eso. Pero en su caso, dado que x se usa en su ventana de visualización, debe comprender que x ya no apuntará al cuadro de edición de númerosRe: Como usar cajas de radioCreo que tengo una comprensión de lo que está pasando. Esperemos que sea la ÚLTIMA pregunta.
Si configuro una variable, digamos x = 3, parece que puedo "restablecer" x más tarde para decir x = z + y sin un error (al menos un error de sintaxis). ¿Estoy en lo correcto?
Re: Como usar cajas de radioSet y Get son opuestos exactos.si miramos
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;
)
La variable "X" apunta a un objeto de visualización.Entonces, para comunicarse con un objeto de visualización, uno pasa mensajes al objeto.Por lo tanto, para asignar un valor al objeto, se pasa el mensaje al objeto para "Establecer" el valor.De este modo,
x << Set( 1.96 );
La variable "Z" es solo una variable de memoria (un valor escalador).Para asignar un valor a una variable de escalador, solo se usa un "=", como
a = 42;
theParameterValue = b + c * 24;
pero en su caso, desea establecer la variable de escalador "Z" en el valor del objeto de visualización, "X".Entonces, para hacer eso, uno usa el "=" para asignar el valor a la variable "Z", pero tiene que pasar el mensaje, "<< get" al objeto de visualización "X" para recuperar su valor actual.
z = x << get;
Las declaraciones también podrían haber sido escritas:
x << Set( 1.96 ); z = 1.96;
que podría haber sido más comprensible.
Re: Como usar cajas de radioEsto se siente muy poco intuitivo. Entonces Set y Get son similares pero diferentes. Gracias de nuevo por la dirección.
Re: Como usar cajas de radioEl problema que tiene es que está un poco confundido en cuanto a qué es la variable "X".En el código que @vince_faller siempre que "X" esté asociado con un objeto DisplayBox.Más específicamente, es un objeto de visualización NumberEditBox().NumberEditBox() es un objeto en su ventana.Para establecer y obtener los valores en el objeto, utilice <<
z = x << get;
Sin embargo, la mayoría de los scripts están estructurados para mostrar una ventana para obtener y configurar información, pero luego cierran la ventana para realizar más cálculos.Por lo tanto, normalmente se mueven los valores requeridos fuera de los objetos de visualización a escaladores, listas o matrices JSL estándar.Para NumberEditBox() normalmente uso un simple mensaje <
New Window( "Example",
Panel Box( "Confidence Interval",
rb = Radio Box(
{"90%", "95%", "98%", "99%"},
<<SET function=""></SET>
o simplemente podría establecer el valor z en Radito Box ()
New Window( "Example",
Panel Box( "Confidence Interval",
rb = Radio Box(
{"90%", "95%", "98%", "99%"},
<<SET function=""></SET>
Re: Como usar cajas de radioUmmmm ....
Usé este código:
Match( rb << Get Selected,
"95%", x << Set( 1.96 ),
"90%", x << Set( 1.645 ),
"98%", x << Set( 2.326 ),
"99%", x << Set( 2.576 )
);
para mostrar la puntuación z para un CI elegido a través de los botones de opción. La x asignada y la puntuación z correcta mostrada.
Ahora quiero usar el puntaje z en una fórmula, pero recibo este error:
Enviar espera objeto programable en acceso o evaluación de 'Enviar', z << /*###*/Set( 1.96 ) /*###*/
¿El valor x obtenido en el código anterior no es un valor numérico que pueda usar en una fórmula? ¿Hay alguna manera de "forzar" que sea/actúe numérico?
Re: Como usar cajas de radioGracias por el aviso, definitivamente lo revisaré de cerca.
Re: Como usar cajas de radioMencionas que eres autodidacta JSL.Dado eso, le sugiero que se tome el tiempo para leer la Guía de secuencias de comandos
Ayuda==>Libros==>Guía de secuencias de comandos
y que se familiarice con el índice de secuencias de comandos.En el índice, encontrará todos los mensajes, etc. que se pueden enviar a las funciones y objetos, y le dará ejemplos de cada uno.A continuación se muestra el ejemplo al que se hace referencia en la sección de la guía para Botón de opción (), utilizando una función de configuración () para el procesamiento

Re: Como usar cajas de radioMuchas gracias por la respuesta. Definitivamente estudiaré más sobre el partido y esa "Función de ajuste" que sugirió. ¡Gracias de nuevo!
Re: Como usar cajas de radioEstá analizando las variables como columnas cuando lo hace: rb.Tienes que enviar los objetos gráficos << mensajes.
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>Re: Como usar cajas de radioeditar: lo siento, el objetivo es reconocer qué cuadro de radio está marcado y luego imprimir el puntaje z.