リストを使用してデータをフィルタリング/クレンジングする方法 JMP [ヒント、JSL、スクリプト]たくさんの応援をいただいたので、そろそろ恩返しをしようと思いました。 以下に、データ テーブルのフィルタリングを容易にする小さなプログラムを示します。 「エントリ」によるハード エンコーディングは、エントリをフィルタリングする 1 つの方法です。これは面倒で、タイプミスを起こしやすいです。 別の方法として、フィルター リスト内の「位置」でエントリをフィルター処理することもできます。 このアプローチは、フィルター リスト内のフィールドの順序が変更されないことを前提としています。 確認するには、JMP ログを確認してください。 品質チェックとして、私はどのエントリが除外されたかがわかります。
幸運を
初心者2ジャンピー
names default to here( 1 );
// Open a sample data table
dt = Open( "$SAMPLE_DATA/big class.jmp" );
/* Get entries/levels from Column NAME and store them in NAME_LIST */
NAME_LIST = dt:NAME << get values ;
NAME_LIST ;
/* Remove selected entries ("levels") on given position in list = JMP table */
remove from(NAME_LIST, {1,3,5} ); /* {removes: "KATIE", "JANE", "LILLIE" */
/* Cleans data by removing rows using level list */
dt << Select where(contains(NAME_LIST, :NAME)) ;
dt_2 = dt << subset(selected rows(1), all columns);
/* Results in a subset without the levels "KATIE", "JANE", "LILLIE" */
close (dt, nosave) ;
Re: リストを使用してデータ JMP をフィルター処理/クレンジングする方法 [ヒント、JSL、スクリプト] - 重複に対して機能させるには?ここにそれを行う1つの方法があります。唯一の複雑さは、行番号の行列をリストに変換することです
Names Default To Here( 1 );
// Open a sample data table
dt = Open( "$SAMPLE_DATA/big class.jmp" );
/* Get entries/levels from Column NAME and store them in NAME_LIST */
eval(parse("NAME_LIST =as list (" || char(index(1,n rows(dt))) || ")[1];"));
NAME_LIST ;
/* Remove selected entries ("levels") on given position in list = JMP table */
Remove From( NAME_LIST, {1, 3, 5} ); /* {removes: "KATIE", "JANE", "LILLIE" */
/* Cleans data by removing rows using level list */
dt << Select where( Contains( NAME_LIST, Row() ) );
dt_2 = dt << subset( selected rows( 1 ), all columns );
/* Results in a subset without the levels "KATIE", "JANE", "LILLIE" */
Close( dt, nosave );Re: リストを使用してデータ JMP をフィルター処理/クレンジングする方法 [ヒント、JSL、スクリプト] - 重複に対して機能させるには?
こんにちは、みんな、
先週の金曜日に、フィルタ リスト内の「位置」でデータをフィルタリングするのに役立つ小さな JMP を提供しました。
PM で、フィルター リストをスキャンしたエントリが一意である場合にのみ機能するというメッセージを受け取りました。 たとえば、NAME からフィルタリングされた alle エントリが一意である場合、たとえば、「Katie」を除外したい場合などです。 「ジェーン」または「リーリエ」。さて、「ロバート」は「BIG CLASS」に2回登場。 「Robert」も除外するとすぐに、このアプローチは行き詰まります。 それを解決する方法はありますか?
初心者2ジャンピー
names default to here( 1 );
// Open a sample data table
dt = Open( "$SAMPLE_DATA/big class.jmp" );
/* Get entries/levels from Column NAME and store them in NAME_LIST */
NAME_LIST = dt:NAME << get values ;
NAME_LIST ;
/* Remove selected entries ("levels") on given position in list = JMP table */
remove from(NAME_LIST, {1,3,5} ); /* {removes: "KATIE", "JANE", "LILLIE" */
/* Cleans data by removing rows using level list */
dt << Select where(contains(NAME_LIST, :NAME)) ;
dt_2 = dt << subset(selected rows(1), all columns);
/* Results in a subset without the levels "KATIE", "JANE", "LILLIE" */
close (dt, nosave) ;