タイムスタンプでデータを結合2 つの異なるデータ セットをマージする必要があります。 最初の A には、2 分ごとに収集されたデータがあります。 2 番目の B では、測定値がしきい値を超えたときにのみデータが収集されます。
サンプル
2017-01-21:00:02:00, 1, 2, 3, 4
2017-01-21:00:04:00, 2, 3, 4, 5
2017-01-21:00:06:00, 3, 4, 5, 6
...
Bサンプル
2017-01-21:00:02:05, 4500
2017-01-21:00:05:14, 5700
...
B データを最も近い A 行に入れるだけで十分です。 たとえば、2017-01-21:00:05:14 の B データは、A-row=2017-01-21:00:06:00 に配置できます。
A には約 170,000 行あります。 B には約 4,000 行あります。
ありがとう
Re: タイムスタンプでデータをマージするありがとうございます! 私はそれをテストします。
-g州
Re: タイムスタンプでデータをマージするこれは、あなたが望むものを与えると私が信じているスクリプトの修正です。サンプルデータテーブルを提供しなかったため、完全にはテストされていませんが、実験番号を配置している変数が「実験」と呼ばれる場合、機能するはずです。
Names Default To Here( 1 );
Clear Symbols();
list_tables = {};
For( i = 1, i <= N Table(), i++,
Insert Into( list_tables, Data Table( i ) << get name )
); //sets up names of data tables to pick from
dt1 = Data Table( list_tables[1] );
dt2 = Data Table( list_tables[2] ); //Reasonable Starting point
win_tableselect = New Window( "Select Tables",
<<MODAL></MODAL>Re: タイムスタンプでデータをマージするこの JMP スクリプトを変更して、2 つの異なる変数を一致させて 2 つのデータ テーブルを結合できるようにするにはどうすればよいでしょうか?
例: 以下のデータ セットでは、実験 # で照合し、タイムスタンプのローカル最小値で照合して、データ テーブル 2 の値をデータ テーブル 1 に結合し、データ テーブル 2 の値が 1 つの行になるようにします。正しい実験番号を持つデータ テーブル 1 の最も近いタイムスタンプ。
サンプル
実験 1、2017-01-21:00:02:00、1、2、3、4
実験1、2017-01-21:00:04:00、2、3、4、5
実験2、2017-01-21:00:06:00、3、4、5、6
...
Bサンプル
実験 1、2017-01-21:00:02:05、4500
実験 2、2017-01-21:00:05:14、5700
どんな支援も役に立ちます!
ありがとう
Re: タイムスタンプでデータをマージするジム、
本当にありがとう。 これで準備は整ったと思います。
Re: タイムスタンプでデータをマージする参照されたスクリプトには、最新バージョンの JMP で動作しない項目がいくつかありました。私はそれらを作り直し、これを関数呼び出しとして実行する要件を削除しました。2 つのデータ テーブルを開いて、以下のスクリプトを実行するだけです。私はあなたのデータに対してそれを実行しましたが、うまくいきました。結果がまさにあなたが望むものかどうかはわかりませんが、作業に使用できるデータ テーブルが得られます。
Names Default To Here( 1 );
Clear Symbols();
list_tables = {};
For( i = 1, i <= N Table(), i++,
Insert Into( list_tables, Data Table( i ) << get name )
); //sets up names of data tables to pick from
dt1 = Data Table( list_tables[1] );
dt2 = Data Table( list_tables[2] ); //Reasonable Starting point
win_tableselect = New Window( "Select Tables",
<<MODAL></MODAL>Re: タイムスタンプでデータをマージする使用しているファイルのサブセットを添付する
Re: タイムスタンプでデータをマージする迅速な返答に感謝致します。
各テーブルに「datetime-in-seconds」列を配置したため、すべてのデータ ポイントにタイムスタンプがあります。
スクリプトを実行すると、各テーブルの列を選択するように求められます。これは、各テーブルの「datetime-in-seconds」列を選択することによって行います。
最終結果は、「Loc Min」と呼ばれる dt2 の単なる追加の列であり、単純に整数 1、2、3、.. の昇順です。
関数が失敗していますか、それとも使用方法に何か不足していますか?
Re: タイムスタンプでデータをマージするhttps://community.jmp.com/t5/Discussions/Join-Question-timestamp-range-kinda-sorta/mp/20828
これでうまくいくか、少なくとも正しい軌道に乗ることができます。 そして、それはばかげて速いです。