Selezione delle celle in base al coloreCiao,
Dopo aver eseguito lo strumento di analisi dei valori anomali in JMP, ho codificato a colori le celle che contenevano valori anomali. Come posso selezionare tutte queste celle e sostituirle con il nome "outlier"? Il passo successivo, sarebbe chiamare tutte le altre celle "normali".
Fammi sapere se è fattibile. Un'istantanea del datasheet in allegato a questo post.

ScriptingRi: Selezione delle celle in base al coloreNon sono a conoscenza di un modo semplice per ottenere il colore della cella da una cella, per non parlare di selezionare tutte le righe per le celle in una colonna, che ha un colore specifico in essa.Tuttavia, il modo in cui lo faccio è estrarre lo script per la colonna di interesse, quindi cercare l'area Celle colore dello script e analizzare le righe.
Ho allegato una tabella di dati di esempio.La tabella dati è stata prodotta utilizzando lo strumento di analisi dei valori anomali. Quando lo script seguente viene eseguito su quella tabella di dati, troverà le celle nella colonna SS-E che sono state colorate di rosso chiaro (dal colore 35 a JMP), e cambierà il valore di quelle celle in "outlier" e poi cambierà tutto delle altre cellule a "normale".

Tieni presente che per modificare le celle in "valori anomali" o "normali", la colonna doveva essere modificata in una colonna di caratteri e tutti i dati originali venivano sostituiti.
Ecco il copione
names default to here(1);
dt=current data table();
x=char(:name("ss-e")<<GET script=""></GET>Ri: Selezione delle celle in base al coloreIn alternativa all'approccio di @txnelson , forse vale la pena fare un passo indietro per pensare a come è stata realizzata la tavola. La versione allegata dei dati di esempio 'Penta' è stata realizzata sfruttando l'opzione 'Aggiungi ai codici valore mancanti':

È quindi possibile utilizzare codice come questo, che ha il vantaggio aggiuntivo di non modificare effettivamente i valori dei dati nella tabella:
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);Ri: Selezione delle celle in base al coloreFunziona alla grande!
Qual è la sintassi per scorrere in modo iterativo il nome di ogni colonna invece di aggiungere un solo nome di colonna? Come restringi questo ciclo per guardare solo attraverso le colonne 1-10, ad esempio?
Apprezzo l'aiuto per lo scripting, questa è roba fantastica.