如何從過濾的數據中獲得最佳分佈的名稱?尊敬的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>