根據顏色選擇單元格你好,
在JMP中運行離群值分析工具後,我對包含離群值的單元進行了顏色編碼。 如何選擇所有這些單元格並將其替換為“異常值”? 下一步,將所有其他單元命名為“正常”。
讓我知道這是否可行。 這篇文章所附的數據表快照。

腳本編寫回复:根據顏色選擇單元格我不知道一種從單元格獲取單元格顏色的簡單方法,更不用說為一列中具有特定顏色的單元格選擇所有行了。但是,我這樣做的方法是為感興趣的列提取腳本,然後搜索腳本的“顏色單元”區域,並解析出行。
我附上了樣本數據表。數據表是使用異常值分析工俱生成的。 在該數據表上運行以下腳本時,它將在SS-E列中找到淺紅色的單元格(將JMP的顏色設置為35),並將這些單元格的值更改為“異常值”,然後將其全部更改其他單元格設置為“正常”。

請注意,要將單元格更改為“異常”或“正常”,必須將列更改為字符列,並替換所有原始數據。
這是腳本
names default to here(1);
dt=current data table();
x=char(:name("ss-e")<<GET script=""></GET>回复:根據顏色選擇單元格作為替代方法@txnelson ,值得回顧一下表格的製作方式。 利用“添加到缺失值代碼”選項製作了“ Penta”樣本數據的附加版本:

然後,您可以使用像這樣的代碼,它具有額外的好處,即您實際上並未更改表中的數據值:
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);回复:根據顏色選擇單元格這很棒!
迭代遍歷每個列名而不是僅追加一個列名的語法是什麼? 例如,如何限制此循環僅瀏覽1-10列?
感謝腳本幫助,這是很棒的東西。