次の質問は、P&G の内部 JMP ユーザー コミュニティ ページで行われました。 このフォーラムへの移行:
タイムスタンプに基づいて結合したい 2 つのテーブルがあります。 ただし、データ ソースが原因で、同じ時刻にはなりません。 私が見つけることができる JMP の唯一のオプションは完全一致です。 パンダの結合やExcel Vlookupの動作と同様に、最も近い結合を使用するJMPのオプションはありますか?
P&G JMP ユーザー コミュニティは、いくつかの回答を試みました。 私たちが推奨しようとしたものよりも良い解決策はありますか?
答え #1:
両方のテーブルを別々のシートとして Excel にドロップし、シート 2 を参照するシート 1 に vlookup 列を追加してから、結合のために JMP に移植しますか? JMP で最も近い一致機能を見たことがありませんが、存在する場合は興味があります...
答え #2:
「最も近い結合」の定義には一貫性がありません。 VLOOKUP の私の記憶 (変更されていない限り) は、データ テーブル X から時間 X を取得し、X<=Y (または Y<=X) になるようにデータ テーブル Y から最も近い時間 Y と一致させることです。特に、データ テーブル X またはデータ テーブル Y のいずれかでデータが不規則な間隔で収集されている場合は、非常に長いギャップ。 不規則な間隔の可能性は、このような結合を非常に複雑にする可能性があります.
残念ながら、JMP には迅速なアプローチはありませんが、いくつか試してみることができます。
私が以前に試みたアプローチの 1 つは、関心のある重要な測定値 (X 変数 = 時間) にスプラインを当てはめ、予測式を保存して、それを他のテーブルに転送することです。 正しく行われた場合、これは本質的に重要な測定値を補間し、それらを一致させます。
もう 1 つのオプションは、完全結合 (タイム スタンプが一致しない) を実行してから、式列を作成して、データ テーブル X の時間が欠落しているかどうかを確認することです。そうである場合は、データ テーブル Y からの時間を使用し、そうでない場合は、データ テーブル X からの時間を使用します。次に、この新しい時間列で並べ替えます。 次に、関心のある重要な測定値ごとに数式を作成します。 これらの式で、重要な測定値が欠落しているかどうかを確認します。 欠落していない場合は、重要な測定値を取得します。それ以外の場合は、この新しい数式列に名前を付けているものに対して Lag 関数 (数式エディターの行関数グループ) を使用して、観測値を 1 行上に移動します。
答え #3:
多くの場合、結合する前に両方のタイム スタンプを同じ方法でビニングすると (たとえば、秒、10 秒、1 分などでデータをビニング)、最も近い一致を作成できます。 これは、タイム スタンプが「あまり違い」なく、ある程度のデータ集計を受け入れることができる限り、非常にうまく機能します。
ビニングはJMPの列関数です
元の質問者からのフォローアップ:
提案をありがとう。 おそらく、JMP の外部で結合を行い、結合後に分析を行います。
他の多くの人がこれに出くわすかどうかはわかりませんが、これはJMPに渡して、この機能を結合ダイアログの外に追加するのではなく、結合ダイアログに組み込むことを提案するかもしれません.
@mjoner 、数式ヘッダーの右クリック オプション内の高速数式による回避策があります。これにより、日付と時刻を最も近い分、秒、5 秒に丸めることができます。これはあいまい一致ほど便利ではないことはわかっていますが、別のオプションです。私は開発が知っていることを確認します