Zellen anhand der Farbe auswählenHallo,
Nachdem ich das Ausreißeranalysetool in JMP ausgeführt hatte, habe ich die Zellen, die Ausreißer enthielten, farblich gekennzeichnet. Wie kann ich alle diese Zellen auswählen und durch den Namen "Ausreißer" ersetzen? Der nächste Schritt wäre, alle anderen Zellen "normal" zu nennen.
Lassen Sie mich wissen, ob dies machbar ist. Ein Schnappschuss des Datenblattes ist in diesem Beitrag angehängt.

SkriptingBetreff: Auswählen von Zellen basierend auf der FarbeMir ist kein einfacher Weg bekannt, die Zellenfarbe aus einer Zelle zu erhalten, geschweige denn alle Zeilen für Zellen in einer Spalte auszuwählen, die eine bestimmte Farbe enthält.Die Art und Weise, wie ich das mache, besteht jedoch darin, das Skript für die interessierende Spalte zu extrahieren und dann nach dem Bereich Farbzellen des Skripts zu suchen und die Zeilen zu analysieren.
Ich habe eine Beispieldatentabelle angehängt.Die Datentabelle wurde mit dem Outlier Analysis Tool erstellt. Wenn das folgende Skript für diese Datentabelle ausgeführt wird, findet es die Zellen in der Spalte SS-E, die hellrot gefärbt wurden (Farbe 35 bis JMP), und ändert den Wert für diese Zellen in "Ausreißer" und ändert dann alle der anderen Zellen auf "normal".

Bitte beachten Sie, dass zum Ändern der Zellen in "Ausreißer" oder "Normal" die Spalte in eine Zeichenspalte geändert werden musste und alle Originaldaten ersetzt wurden.
Hier ist das Skript
names default to here(1);
dt=current data table();
x=char(:name("ss-e")<<GET script=""></GET>Betreff: Auswählen von Zellen basierend auf der FarbeAls Alternative zum Ansatz von @ txnelson Vielleicht lohnt es sich, einen Schritt zurück zu gehen, um darüber nachzudenken, wie der Tisch gemacht wurde. Die angehängte Version der 'Penta'-Beispieldaten wurde unter Verwendung der Option' Zu fehlenden Wertcodes hinzufügen 'erstellt:

Sie können dann Code wie diesen verwenden, was den zusätzlichen Vorteil hat, dass Sie die Datenwerte in der Tabelle nicht tatsächlich ändern:
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);Betreff: Auswählen von Zellen basierend auf der FarbeDas funktioniert super!
Wie lautet die Syntax, um jeden Spaltennamen iterativ zu durchlaufen, anstatt nur einen Spaltennamen anzuhängen? Wie können Sie diese Schleife so einschränken, dass sie beispielsweise nur durch die Spalten 1-10 blickt?
Schätzen Sie die Skript-Hilfe, das ist großartiges Zeug.