「Fuzzymerge」 - タイムスタンプがわずかに異なるテーブルを結合しますさまざまなソースからのデータ ファイルを時間で結合したいことがよくありますが、それらは異なるシステムからのものであるため、タイムスタンプがわずかに異なります。JMP を使用することでこれを解決しましたKDTテーブル非常に高速な最近傍検索を可能にするオブジェクトです。この「ファジーマージ」は、メインテーブルの各行に対して時間的に最も近い行を 2 番目のテーブルで検索し、それらの行を結合して単一のテーブルを作成します。
コミュニティの検索で他にもこの例をいくつか見つけましたが、スクリプト作成者以外がアクセスできる GUI を備えた例はありませんでした。
これを使用するには、まず「fn_fuzzymerge_generic」スクリプトを実行してカスタム関数を JMP にロードします。次に、データテーブルを開いた状態で fuzzymerge_generic_GUI スクリプトを実行します。結合された行の 2 つのテーブルの時間列の差である「ファジー マージ デルタ」列の分布を確認するとよいでしょう。値が大きい場合は、メイン テーブルのその行の「近く」にデータがないことを示します。
これにより、時間の前後を問わず *任意の方向* で最も近い行が検索されることに注意してください。
これが誰かの役に立てば幸いです!
クリスト
探索的データ分析公共事業Re: 「Fuzzymerge」 - タイムスタンプがわずかに異なるテーブルを結合するどうもありがとうございます。タイムスタンプの異なる複数のファイルを結合する必要がよくあるため、これは私たちのグループにとって非常に役立ちました。 完璧に機能します! メインテーブル自体を変更するのではなく、結果を新しい名前で新しいテーブルに保存するオプションをお勧めします。
Re: 「Fuzzymerge」 - タイムスタンプがわずかに異なるテーブルを結合するつまり、テーブル A には 1 秒ごとに 1 行があり、テーブル B には 1 時間ごとに 1 行があります。このファジーマージを使用して、テーブル B (「with」テーブル) から A (メイン テーブル) にマージすると、A のすべての行に対して B で最も近い行が検索されます。あなたが求めているのは、その逆を行うことであるようです。テーブル B を「メイン」テーブルとして設定し、テーブル A を「with」テーブルとして設定します。 それをテーブル C と呼びます。これにより、B の各行に対して A のクローゼットの行が 1 つずつ取得されます。テーブル A と同じ数の行を含むテーブルが必要だが、B のデータが空である場合は、タイムスタンプで照合することにより、テーブル -> C を A と結合し直すことができます。
Re: 「Fuzzymerge」 - タイムスタンプがわずかに異なるテーブルを結合する@klk 1 秒ごとのタイムスタンプを持つテーブルと、1 時間ごとのタイムスタンプを持つ別のテーブルがあります。 どちらの列も時間が時間単位で表示されます。 スクリプトを使用してテーブルを結合すると、デルタ 0.5 に達するまで 2 番目のテーブルが最初のテーブルの複数の場所と一致し、その後、次のタイムスタンプと一致します。 結局、単一の一致ではなく複数の一致が発生します。
単一のあいまい一致を強制する方法はありますか?おそらく単一のデルタを手動で定義することでしょうか?
Re: 「Fuzzymerge」 - タイムスタンプがわずかに異なるテーブルを結合する
@klkこの脚本は素晴らしいです!
いくつかの項目で補足していただけないかと思いました。
1. GUIウィンドウにキャンセルボタンを追加します。
2. グループごとに参加することは可能でしょうか?たとえば、分離しておかなければならない 2 つの時系列があり、系列名がいずれかの列にあるとします。
ありがとう!!!
Re: 「Fuzzymerge」 - タイムスタンプがわずかに異なるテーブルを結合する共有してくれてありがとう! 「遠すぎる」インデックスを結合しないように、許容係数があると便利です。
Re: 「Fuzzymerge」 - タイムスタンプがわずかに異なるテーブルを結合するクリスト、はい、多くの人が経験したことがあるように、私もまさにこの状況に陥ったことがあります。 それを理解するのは難しすぎると判断しました。 このスクリプトを書くのに時間を割いていただきありがとうございます。
すぐに使う機会が来ると思います。
ありがとう
フィオナ
Re: 「Fuzzymerge」 - タイムスタンプがわずかに異なるテーブルを結合する素晴らしい脚本と優れたサポート。 好き。
Re: 「Fuzzymerge」 - タイムスタンプがわずかに異なるテーブルを結合するお役に立てて嬉しいです!小さな修正を加えて更新しただけであることに注意してください。
Re: 「Fuzzymerge」 - タイムスタンプがわずかに異なるテーブルを結合する非常に素晴らしい。 このようなものを探していました。 ありがとう!