Mostrar un cuadro de texto solicitando información del usuario.Hola,
Quiero agregar un cuadro de edición de texto que le pide al usuario que ingrese valores para Q y el cuantil de cola para explorar valores atípicos. Esto es lo que intenté, pero parece que me falta algo. ¿Puede aconsejarme que pueda ayudar con esto?
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Water Treatment.jmp");
check_list = {"SS", "SE", "PH"};
todo_list = {};
nw = new window("Checkboxes", << modal(),
"Input",
V List Box( Text Box( "Enter Tail Quantile " ), tail = Text Edit Box() ,
Text Box( "Enter Q Value " ), quan = Text Edit Box() ),
my_cb = checkbox(check_list),
panelbox("Actions",
hlistbox(
button box("OK",
ta = tail << get text();
qu = quan << get text();
keep_going = 1;
todo_list = my_cb << get selected;
),
button box("Cancel", keep_going = 0)
),
),
);
For(i = 1, i <= N Items(colList), i++,
If(Contains(colList[i], "SS"), Insert Into(filteredCols, colList[i]))
);
obj = dt <<
Explore Outliers(
Y((Eval(filteredCols) )));
obj << Quantile Range Outliers;
obj << Tail Quantile (ta);
obj << Q(qu);
obj << Select Rows(All);
ScriptingRe: mostrar un cuadro de texto solicitando información del usuarioTanto las entradas de Tail Quantile como de Q deben ser numéricas, no de cadena / texto.Utilice la función Num () para convertir.
Re: mostrar un cuadro de texto solicitando información del usuarioAlgunas modificaciones: su código original no inicializó algunas cosas.Usé el cuadro de edición de números () y el cuadro de alineación () para una apariencia más agradable.El cuadro de edición de números solo permite la entrada de números.

Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Water Treatment.jmp");
check_list = {"SS", "SE", "PH"};
todo_list = {};
nw = new window("Checkboxes", << modal(),
text box("Input"),
Lineup Box( N Col( 2 ),
Text Box( "Enter Tail Quantile: " ), tail = number Edit Box() ,
Text Box( "Enter Q Value: " ), quan = number Edit Box()
),
my_cb = checkbox(check_list),
panelbox("Actions",
hlistbox(
button box("OK",
ta = tail << get();
qu = quan << get();
keep_going = 1;
todo_list = my_cb << get selected;
),
button box("Cancel", keep_going = 0)
),
),
);
collist = dt << get column names(string);
filteredcols = {};
For(i = 1, i <= N Items(colList), i++,
If(Contains(colList[i], "SS"), Insert Into(filteredCols, colList[i]))
);
obj = dt << Explore Outliers( Y((Eval(filteredCols) )));
obj << Quantile Range Outliers;
obj << Tail Quantile (ta);
obj << Q(qu);
obj << Select Rows(All);Re: mostrar un cuadro de texto solicitando información del usuarioGracias @pmroz ,
El script funciona bien, pero el problema es que toma los valores predeterminados para evaluar los valores atípicos, no los valores de entrada. Vea la captura de pantalla a continuación
El siguiente análisis se basa en el cuantil de cola de 0,1 y Q de 3. Ingresé 0.4. y 3 en el cuadro de edición. Me cansé de usar el análisis de rehacer, pero no selecciona todas las filas en la ventana. ¿Algún consejo?
