JSL を使用して列内でエントリが繰り返された回数を確認するこんにちは、みんな、
列内で繰り返される文字列エントリ (つまり、行) を検索するための JSL スクリプトを作成しています。このコラムは基本的に、通常繰り返されるさまざまなテストをリストしています。
私が見つけようとしているのは、それらの行が繰り返された回数を見つけることができたら、上位 N 個の繰り返しエントリを選択し、それらの選択したエントリをリストに挿入して、グラフ ビルダーまたは表作成で分析することです。
助けていただければ幸いです。
自動化とスクリプト作成基本的なデータ分析とモデリングデータアクセスRe: JSL を使用して列内でエントリが繰り返された回数を調べるこれに私がアプローチする方法は次のとおりです
names default to here(1);
dt=current data table();
// Get each different string value and the number of repeated strings
summarize(dt, byGroup = by(:sex), number = count(:height));
show( byGroup, number );
// To find which rows that have the same values
theRows = dt << get rows where( :sex == byGroup[1] );
show(theRows);
Re: JSL を使用して列内でエントリが繰り返された回数を調べる少なくとも 3 つの異なるケースが思い浮かぶので、何を達成しようとしているのかを理解しやすくするために、例 (および例に対する解決策) を提供していただけますか。
Re: JSL を使用して列内でエントリが繰り返された回数を調べる解決策を教えてくれた@txnelsonに感謝します。これは、重複した列とそれらが重複した回数を見つけるのに完全に機能します。私が現在抱えている問題は、上位 N (例: N =5) の繰り返し文字列を見つけて、さらなる評価のためにそれらをリストに投入しようとしているということです。リストの一番上の項目しか見つけることができませんでした。
私の質問ですが、N が任意の整数である上位 N 個の項目を見つける方法はありますか?ありがとう!
以下に示すようにコードを変更しました。
names default to here(1);
dt=current data table();
// Get each different string value and the number of repeated strings
summarize(dt, byGroup = by(:Temp_), number = count(:Site));
list = {};
list[1] = 0;
// To find which rows that have the same values
for(i=2, i <N items=""></N>Re: JSL を使用して列内でエントリが繰り返された回数を調べるこんにちは@jthi 。
その例としては、ビッグクラス jmp データの Sex 列が挙げられます。列には F と M があり、それが複数回繰り返されます。 FまたはMが何回繰り返されたかをカウントするjslスクリプトを書きたいと思っています。この場合、 @txnelsonが提供したコードは完全に機能します。これはもっと意味があるでしょうか?ありがとう
Re: JSL を使用して列内でエントリが繰り返された回数を調べるSummarize を使用して項目の数を見つけてから、上位 5 を見つけることができます。たとえば、その数に対して Reverse(Rank()) を使用し、見つかったインデックスをグループに使用できます。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
// Get each different string value and the number of repeated strings
Summarize(dt, uniq = by(:age), count = Count(:height)); // some column which is numeric to Count
r = Reverse(Rank(count));
top5 = Try(uniq[r][1::5], uniq[r]);
show(uniq, count, top5);