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 afin d'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);
Fusion et nettoyage des donnéesRe : Afficher une zone de texte demandant l'entrée de l'utilisateurJ'essaierais de désosser l'analyse.Effectuez l'analyse manuellement avec les paramètres/colonnes souhaités.Cliquez ensuite sur la petite flèche rouge et sélectionnez l'option pour enregistrer le script dans le presse-papiers ou dans une fenêtre de script.Utilisez ce script à la place de ce que vous avez et remplacez les variables de la nouvelle fenêtre.
Re : Afficher une zone de texte demandant l'entrée de l'utilisateur@pmroz aucun conseil?
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 un quantile de queue de 0,1 et un Q de 3. J'ai saisi 0.4. et 3 dans le zone d'édition. Je suis fatigué d'utiliser l'analyse de rétablissement, mais il ne sélectionne pas toutes les lignes de la fenêtre. Aucun conseil?

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 de nombre () et la boîte de ligne () pour un look plus agréable.La zone d'édition de nombre permet uniquement 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'utilisateurLes entrées Tail Quantile et Q doivent être numériques, et non chaîne/texte.Utilisez la fonction Num() pour convertir.