根据颜色选择单元格你好,
在 JMP 中运行异常值分析工具后,我对包含异常值的单元格进行了颜色编码。 如何选择所有这些单元格并将它们替换为名称“异常值”? 下一步,将命名所有其他单元格为“正常”。
让我知道这是否可行。 数据表的快照附在这篇文章中。

脚本回复:根据颜色选择单元格这很好用!
迭代遍历每一列名称而不是仅附加一个列名称的语法是什么? 例如,您如何限制此循环仅查看第 1-10 列?
感谢脚本帮助,这是很棒的东西。
回复:根据颜色选择单元格作为方法的替代方法@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);回复:根据颜色选择单元格我不知道从单元格中获取单元格颜色的简单方法,更不用说为列中具有特定颜色的单元格选择所有行了。但是,我这样做的方法是提取感兴趣的列的脚本,然后搜索脚本的颜色单元格区域,并解析出行。
我附上了一个示例数据表。数据表是使用异常值分析工具生成的。 当下面的脚本在该数据表上运行时,它会在 SS-E 列中找到浅红色的单元格(颜色 35 到 JMP),并将这些单元格的值更改为“离群值”,然后更改所有其他细胞的“正常”。

请注意,要将单元格更改为“离群值”或“正常值”,必须将列更改为字符列,并替换所有原始数据。
这是脚本
names default to here(1);
dt=current data table();
x=char(:name("ss-e")<<GET script=""></GET>回复:根据颜色选择单元格可以通过列后面的脚本来获取所有彩色单元格:
如何在新创建的列中获取列中彩色单元格的行数并为其分配标签(例如“1”)?