特定の範囲内にない行の値をフィルタリングする(JSL)私はいくつかのデータクリーニングを自動化しようとしています。列ごとに有効と見なされる下限値と上限値があり、代わりに末尾に空の値が含まれているもの以外はすべて削除します。私は行方不明です:
- 選択した行の値を消去する方法
- 列名を参照する方法
- もっと良い方法があるならば。
Names Default To Here( 1 );
dt = Current Data Table();
lower_limit = 69.636;
higher_limit = 71.482;
sel = dt << Select Where( :my_column_name>= lower_limit &
:my_column_name<= higher_limit );
sel << Invert Row Selection;
// clear rows (sel)??
/*
// Here I am trying to do the same but referencing the column. Yet it does not work.
mycol = Column("my_column_name"); // this does not work
mycol = :my_column_name; // this does not work either
sel = dt << Select Where( mycol >= lower_limit &
mycol <= higher_limit );
*/
指定した範囲内にない行の値をフィルタリングする(JSL)Column()として関数を調べる必要があります。列値を使用したい場合は、構文はref_name []、つまり左大括弧、右大括弧です。 以下の構文を試してください。
sel = dt << Select Where( mycol[] >= lower_limit &
mycol[] <= higher_limit );
指定した範囲内にない行の値をフィルタリングする(JSL)それでは、どのようにしてその特定の選択(行と列)の値を削除するのですか?
指定した範囲内にない行の値をフィルタリングする(JSL)その列の値を空に置き換えることを検討しましたか、それとも行を削除することを検討しましたか?
Names Default To Here( 1 );
dt = Open("$sample_data/big class.jmp");
lower_limit = 70;
higher_limit = 150;
mycol = Column("weight");
sel = dt << Get Rows Where ( mycol[] < lower_limit |
mycol[] > higher_limit );
mycol[sel]= empty();
//to delete rows use
// dt << delete rows(sel);
指定した範囲内にない行の値をフィルタリングする(JSL)ありがとう、これは私が探していたものです。
私のテーブルにこのメッセージがありますが、ロックされた列に割り当てようとしましたミコール 。