スクリプトを使用してセル値を「欠落」に設定するにはどうすればよいですか?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大きな数値データセットからファミリーデータポイント外を削除するために使用するスクリプトがあります。定義された分布の外にある値が見つかった場合、コード「columnReference[特定Cell] = 」を使用して、その値が欠損値に設定されました。
以前はうまく機能していましたが、現在はスクリプトがセル値を「.」に設定することを好まないようです。セル値を「欠落」に設定する方法について何か提案はありますか?
Re: スクリプトを使用してセル値を「欠落」に設定するにはどうすればよいですか?このスレッドから、そのような操作をプログラムで実行したいと思われます。 非常に多くの可能性があるため、一般的なガイドラインを示すのは困難です。 効率を本当に懸念している場合は、コードをプロファイリングしてボトルネックがどこにあるのかを確認できます。
http://www.jmp.com/support/help/Debug_or_Profile_Scripts.shtml
0 を欠損値に置き換える特定のケースでは、データ テーブル (dt) 内のすべての列が連続数値である場合、次のようにすることができます。
m = dt << GetAsMatrix;
m[Loc(m == 0) ] = .;
dt2 = AsTable(m);
もちろん、dt2 の列名とプロパティを修正する必要があります。
Re: スクリプトを使用してセル値を「欠落」に設定するにはどうすればよいですか?この種のデータ クリーニング操作の多くを実行するためのどのアプローチが最高のパフォーマンスを発揮するかについて、推奨事項を持っている人はいますか?
これらの置換を実行するにはかなりの方法があるようですが、大規模なデータ セットの場合は、最も速い方法を選択することが重要になる可能性があります。
10,000 列 x 750 行のデータ セットに対して複数の添字アプローチを使用しましたが、0 を欠損値に置き換えるのに数分かかりました。
Re: スクリプトを使用してセル値を「欠落」に設定するにはどうすればよいですか?使用するだけです:
「columnReference[特定のセル] = empty()」
Re: スクリプトを使用してセル値を「欠落」に設定するにはどうすればよいですか?ところで、ターゲット行を明示的にループする必要はありません。 このように複数の添え字を使用して、欠落しているものを簡単かつ同時に割り当てることができます。
CleaningColumnRef[badDataPoints] = 。 ;
Re: スクリプトを使用してセル値を「欠落」に設定するにはどうすればよいですか?手動削除を模倣して調べることができます。 MainMenu("削除")指図。 警告: 強制的に「手動」で削除すると、フロント ウィンドウで選択した内容がすべて消去されるため、実行する前にファイルを保存してください。
用語を使用してループを使用しない例:
dt =開ける( "$SAMPLE_DATA/Big Class.jmp" ) ;
悪いデータポイント= [ 1 、 10 】 ;
クリーニング列参照=桁( "身長" ) ;
dt <<移動(クリーニング列参照) ;
dt <<行を選択する(悪いデータポイント) ;
dt <<ウィンドウを前面に移動;
メインメニュー( "消去" ) ;
Re: スクリプトを使用してセル値を「欠落」に設定するにはどうすればよいですか?列がロックされているか、データ型が間違っているかを再確認しました。
フィードバックをお寄せいただきありがとうございます。分析していたデータに機能レポートが追加されました。これはデータテーブルを参照しているため、スクリプトを通じて個々のセルを削除することはできないと思います。ただし、不良データ ポイントを手動で削除できます。機能レポートを閉じると、スクリプトは再び動作します。
機能レポートが開いていてもデータを手動で削除できるスクリプト機能が必要なようです。
Re: スクリプトを使用してセル値を「欠落」に設定するにはどうすればよいですか?ログから得られる唯一のフィードバックは次のとおりです。
For( badPt = 1, badPt <= N Row( badDataPoints ), badPt++,
CleaningColumnRef[badDataPoints[badPt]] = /*###*/。 /*###*/
);
Re: スクリプトを使用してセル値を「欠落」に設定するにはどうすればよいですか?欠損値をセルに割り当てるのは簡単なはずです。
おそらく列がロックされているか、数式プロパティが指定されているか、文字データ型に設定されていますか?
Re: スクリプトを使用してセル値を「欠落」に設定するにはどうすればよいですか?コード内で何かが変更されたに違いないように感じます。 たとえば、これは機能します:
dt =開ける( "$SAMPLE_DATA/Big Class.jmp" ) ;
hVals =桁( dt 、 "身長" ) <<値の取得;
hVals [ロック( hVals > 60 )] = 。 ;
桁( dt 、 "身長" ) <<値の設定( hVals ) ;
どのようなエラーが表示されますか?