JMP > JSL > 独自のスクリプトを含むアドインに引数を渡す方法JMP コミュニティの皆様、こんにちは。
私は John Sall の FDR 計算アドイン ( com.sas.sall.fdrpvalue.jmpaddin) を使用して、大規模なバイオマーカー データを分析します。
このアドインでデータを手動で入力するのは簡単ですが、JSL スクリプトからこのツールに引数を渡す方法がわかりません。
スクリプトでアドインを使用できるようにするには、インクルード ("[アドイン]") コマンドを使用する必要があることはわかっていますが、スクリプトによって生成された特定の列をアドインに指定するにはどうすればよいですか?
ご協力ありがとうございました。
一番、
TS
スクリプティングRe: JMP > JSL > アドインに引数を渡す方法には、独自のスクリプトが含まれていますか?JMP コミュニティの皆様、こんにちは。
まず、おかげで@jthi迅速かつ効率的なソリューションのために。
完全を期すために、FDR JSL スクリプトのコア要素から関数を作成する大まかな代替オプションを使用しました (以下を参照)。 次に、スクリプトでこの関数を呼び出しました。
重要: この関数で使用されるコア コードは、John Sall によって作成されました。
NamesDefaultToHere(1);
fdr = Function ({dtf, pvalCol},
pvalues = pvalCol<<GET values="">1,dialog("PValues must be between 0 and 1");throw());
index = rankIndex(pvalues); // removes missing values
n = nrow(index);
ordPValue = pvalues[index];
adjPValue = J(n,1,.);
for(i=1,i<=n,i++,
j = n-i+1;
ratio = n/(n-i+1);
adjPValue[j] = if (i==1,ordPValue[j],min(ratio*ordPValue[j],adjPValue[j+1]));
);
rowPValues = J(NRow(dtf),1,.);
rowPValues[index] = adjPValue;
sfx = pvalCol << get name ();
n_col_name = "FDR " || sfx;
dtf<<NEWCOLUMN></NEWCOLUMN></GET>
一番 、
TS
Re: JMP > JSL > アドインに引数を渡す方法には、独自のスクリプトが含まれていますか?からアドインをインストールしましたここそしてコードを見ました。 私はおそらくそれを書き直して関数を使用しますが、アドインが次のようなもので作成する新しいウィンドウを使用できるはずです:
Names Default To Here(1);
//This will immediately launch New Window with reference fdrDlg
Include("$ADDIN_HOME(com.sas.sall.fdrpvalue)/falseDiscoveryPValue.jsl");
dt = Open("$SAMPLE_DATA/Big Class.jmp");
colListLabel << Set Items({"age", "sex"}); //Label Columns
colListPVal << Set Items({"height"}); //PValue Column
//ok button doesn't have direct reference, so we can look for it with XPath for example
ok_btn = (fdrDlg << XPath("//ButtonBox[@title='OK']"))[1];
//to launch we can press ok_btn
ok_btn << Click;