如何从过滤的数据中获得最佳分布的名称?尊敬的JMP社区,
我使用JMP的时间很短,但我还有很多东西要学习。 希望您能帮助我解决问题。
我尝试使用数据过滤器来选择我想要最佳分布拟合的数据。 然后,我想从报告中得到最合适的发行版的名称:
datafilter1 = dt <<数据过滤器(
模式(选择(0),显示(1),包含(1)),
添加过滤器(columns(:feature)));
dis = datafilter1 << Distribution(自动Recalc(1),Column(:Data));
dis <<适合的分布(全部);
theDist = Trim(Word(3,Report(dis)[“ Compare Distributions”] [String Col Box(1)] << get text,“ \!n”));;
第一部分工作正常。 我可以使用过滤器选择并显示数据。
但是,启动脚本时,我只会得到第一个发行版的名称。 如果随后我使用过滤器选择其他数据分发,则名字会保留并且不会更改。
您如何解决问题? 我已经对此进行了大量研究,但是找不到合适的解决方案。 也许你可以帮我。 非常感谢!
脚本编写回复:如何从过滤后的数据中获得最佳分布的名称?你需要移动你的
heDist = Trim(Word(3,Report(dis)[“ Compare Distributions”] [String Col Box(1)] <<得到文本,“ \!n”));
放入行状态处理程序,以便每次更改过滤器值时都重新创建它
请参阅:使行状态处理程序回复:如何从过滤后的数据中获得最佳分布的名称?你好,
谢谢您的回答。
但是,“ Make Rowstate Handler”所需的功能应该是什么样子? 我尝试了这个:
f = Function( {a},
Trim( Word( 3, Report( dis )["Compare Distributions"][String Col Box( 1 )] << get text, "\!n" ) )
);
rs = dt << Make Row State Handler( f );
但这是行不通的。 我究竟做错了什么? 谢谢!
回复:如何从过滤后的数据中获得最佳分布的名称?这是一个工作示例,每次数据过滤器更改时,都会提取“ theDist”的值
names default to here(1);
dt=open("$SAMPLE_DATA/semiconductor capability.jmp");
datafilter1 = dt << Data Filter(
Mode( Select( 0 ), Show( 1 ), Include( 1 ) ),
Add Filter( columns( :site ) )
);
dis = dt<< Distribution( Automatic Recalc( 1 ), Column( :npn1 ) );
dis << Fit Distribution( All );
theDist = Trim( Word( 3, Report( dis )["Compare Distributions"][String Col Box( 1 )] << get text, "\!n" ) );
f=Function({a}, theDist = Trim( Word( 3, Report(dis)["Compare Distributions"][String Col Box( 1 )] << get text, "\!n" ) ); show(theDist));
rs=dt<<MAKE row="" state="" handler=""></MAKE>