Afficher une zone de texte demandant l'entrée de l'utilisateurSalut,
Je souhaite ajouter une zone d'édition de texte demandant à l'utilisateur d'entrer des valeurs pour le quantile Q et Tail pour explorer les valeurs aberrantes. Voici ce que j'ai essayé mais il me semble qu'il me manque quelque chose. Pouvez-vous conseiller cela pourrait aider avec cela?
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);
ScriptRe : Afficher une zone de texte demandant l'entrée de l'utilisateurLes entrées Tail Quantile et Q doivent être numériques, et non chaîne/texte.Utilisez la fonction Num() pour convertir.
Re : Afficher une zone de texte demandant l'entrée de l'utilisateurQuelques modifications - votre code d'origine n'a pas initialisé certaines choses.J'ai utilisé la boîte d'édition numérique () et la boîte de programmation () pour un look plus agréable.La zone d'édition des nombres ne permet que la saisie de nombres.

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 : Afficher une zone de texte demandant l'entrée de l'utilisateurMerci @pmroz ,
Le script fonctionne bien, mais le problème est qu'il prend les valeurs par défaut pour évaluer les valeurs aberrantes et non les valeurs d'entrée. Voir la capture d'écran ci-dessous
L'analyse suivante est basée sur le quantile de queue de 0,1 et Q de 3. J'ai entré 0.4. et 3 dans le zone d'édition. J'en ai marre d'utiliser l'analyse de refaire mais elle ne sélectionne pas toutes les lignes de la fenêtre. Aucun conseil?
