Sélection de cellules en fonction de la couleurBonjour,
Après avoir exécuté l'outil d'analyse des valeurs aberrantes dans JMP, j'ai codé en couleur les cellules contenant des valeurs aberrantes. Comment puis-je sélectionner toutes ces cellules et les remplacer par le nom «aberrant»? La prochaine étape serait de nommer toutes les autres cellules "normales".
Faites-moi savoir si cela est faisable. Un aperçu de la fiche technique en annexe de ce post.

ScriptingRe: Sélection de cellules en fonction de la couleurJe ne connais pas un moyen facile d'obtenir la couleur d'une cellule à partir d'une cellule, et encore moins de sélectionner toutes les lignes pour les cellules d'une colonne, qui contient une couleur spécifique.Cependant, la façon dont je fais cela, consiste à extraire le script de la colonne d'intérêt, puis à rechercher la zone Cellules de couleur du script et à analyser les lignes.
J'ai joint un exemple de tableau de données.Le tableau de données a été produit à l'aide de l'outil d'analyse des valeurs aberrantes. Lorsque le script ci-dessous est exécuté sur cette table de données, il trouvera les cellules de la colonne SS-E qui ont été colorées en rouge clair (couleur 35 à JMP), et changer la valeur de ces cellules en «aberrant», puis tout changer des autres cellules à "normal".

Veuillez noter que pour changer les cellules en "valeur aberrante" ou "normale", la colonne a dû être remplacée par une colonne de caractères et toutes les données d'origine sont remplacées.
Voici le script
names default to here(1);
dt=current data table();
x=char(:name("ss-e")<<GET script=""></GET>Re: Sélection de cellules en fonction de la couleurComme alternative à l'approche de @txnelson , cela vaut peut-être la peine de revenir en arrière pour réfléchir à la façon dont la table a été faite. La version jointe de l'exemple de données 'Penta' a été créée en exploitant l'option 'Ajouter aux codes de valeur manquante':

Vous pouvez ensuite utiliser un code comme celui-ci, qui présente l'avantage supplémentaire de ne pas modifier réellement les valeurs de données dans le tableau:
NamesDefaultToHere(1);
dt = DataTable("myPenta");
// Pick a column
myCol = Column(dt, "L4");
// Get the values deemed to be outliers
mvc = myCol << getProperty("Missing Value Codes");
// Delete this column property, else the subsequent 'getValues()' will return '.'
// rather than the cell value in the case of outliers
myCol << deleteProperty("Missing Value Codes");
// Get all the values
vals = myCol << getValues;
// Build the list to go into the 'Value Label' property
valList = {};
for(v=1, v<=NItems(vals), v++,
if(Contains(mvc, vals[v]),
// We have an outlier . . .
InsertInto(valList, EvalExpr(Expr(vals[v]) = "Outlier")),
// Else the point is 'Normal'
InsertInto(valList, EvalExpr(Expr(vals[v]) = "Normal"))
)
);
// Add the 'Value Label' property
myCol << valueLabels(valList);Re: Sélection de cellules en fonction de la couleurCela fonctionne très bien!
Quelle est la syntaxe pour effectuer une boucle itérative sur chaque nom de colonne au lieu d'ajouter un seul nom de colonne? Comment restreignez-vous cette boucle pour ne regarder que les colonnes 1 à 10 par exemple?
J'apprécie l'aide de script, c'est super.