分区段的多重选择我想在显示分区模型时选择多个段。选定的段将进入 badpopulation jmp 文件,其余部分将进入 good population jmp 文件。但我不知道如何对其进行编码以实现多个段的选择。
我的代码如下,它可以将其分为两类:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\semiconductor capability.jmp" );
obj = Partition(
Y( :NPN1 ),
X( :PNP1, :PNP2, :PNP3, :PNP4, :NPN2, :NPN3, :NPN4 ),
Method( "Decision Tree" ),
Validation Portion( .2 )
);
obj << ShowGraph( 0 );
obj << SplitBest( 4 );
obj << Show Split Count( 1 );
obj << Show Split Prob( 1 );
Wait( .5 );
obj << on close(
If( N Items( dt << get selected rows() ) > 0,
dtTemp = dt << subset( invisible, selected rows( 1 ), selected columns( 0 ) );
dt << invert row selection;
dtSEG = dt << subset( invisible, selected rows( 1 ), selected columns( 0 ) );
filepath = "$Desktop";
Close( dtTemp, save( filepath || "\" || "badpopulation.jmp" ) );
Close(dtSEG, save(filepath || "\" || "goodpopulation.jmp"));
)
);
我想添加多个段,假设突出显示的段并将它们放入一个 jmp 文件中
(badpopulation) 并将剩余数据放入其他 jmp 文件(goodpopulation) 任何人都可以帮助我了解此编码吗? 
高级统计建模预测建模和机器学习质量和工艺工程视窗回复:分区段的多重选择也许更好或更简单的解决方案:
在你建造你的树之后。 使用 RTM 保存叶子编号

.
然后使用 Fit YbyX 进行方差分析,使用叶数作为 X 并将您的响应作为 Y,然后从树上摘下“坏”叶子。

回复:分区段的多重选择在不使用脚本的情况下,有一个很好的解决方案,即使用 JMP 中的点击功能
首先使用叶中的红色三角菜单 (RTM) 选择叶中具有“坏”值的行。

Next 从“行”菜单选项卡中命名列中的选择

输入新列的标题和“坏”行的标签。
不要为未选择的行输入值。 把它留空

对每个“坏”叶重复此步骤
回复:分区段的多重选择太感谢了。 我会试试这个。回复:分区段的多重选择看起来您想通过“选择行”LRT 选项允许选择与多个叶节点关联的行。 如果是这种情况,您可以使用行状态处理程序,下面的代码应该可以帮助您入门。 请注意,这假定用户不通过分区报告以外的方式进行行选择。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\semiconductor capability.jmp" );
// Matrix of all rows that were selected
::wasSelected = [];
// Row state handler function
updateWasSelected = Function({x}, {Default Local},
// 'x' is a column vector of row states that have CHANGED. We just need those that are now selected . . .
For( i = 1, i <= NRow(x), i++,
// Need to accumulate selected rows, not adding duplicates
If( Selected(RowState(x[i])) & !Contains(::wasSelected, x[i]),
::wasSelected = VConcat(::wasSelected, x[i])
);
);
);
// Assign the handler to the table
rsh = dt << MakeRowStateHandler(updateWasSelected);
// Do the partition and allow user to make selections vis leaf node LRT
obj = dt << Partition(
Y( :NPN1 ),
X( :PNP1, :PNP2, :PNP3, :PNP4, :NPN2, :NPN3, :NPN4 ),
Method( "Decision Tree" )
);
obj << ShowGraph( 0 );
obj << SplitBest( 4 );
obj << Show Split Count( 1 );
obj << Show Split Prob( 1 );
// Figure out what has been selected and make the auxilliary tables
obj << onClose(
If( NRows(::wasSelected) > 0,
filepath = "$Desktop";
Try(
dtTemp = dt << subset( invisible, rows( ::wasSelected ), selected columns( 0 ) );
Close( dtTemp, save( filepath || "\" || "badpopulation.jmp" ) ),
Print("No rows for table!");
);
dt << invert row selection;
Try(
dtSEG = dt << subset( invisible, selected rows( 1 ), selected columns( 0 ) );
Close( dtSEG, save( filepath || "\" || "goodpopulation.jmp" ) ),
Print("No rows for table!");
);
);
dt << clearRowStates;
);