私は2台のマシンで製品のさまざまな面を検査しています。だから私はIDを生成する2つのシステムを持つ2つのデータセットを持っていますが、IDは同じ製品が検査されることを指しています。そして、両方のシステムのIDが10個の製品ごとにリセットされます。時にはシステムの1つが間違っていて、IDが生成されていないか、間違ったIDが生成されましただから、データセットは次のようになります。R:2つのdata.frameを1つにマージして一致するIDを繰り返し、時には見つからない場合があります。
data set 1: data set 2:
timestamp1 ID1 value1 timestamp2 ID2 value2
9:01 am 1 0.1 9:02 am 1 10
9:03 am 2 0.8 9:04 am 2 15
9:05 am 3 0.1 9:07 am 3 10
9:09 am 4 0.1 9:11 am 0 n/a <-system wrong
9:11 am 5 0.1 9:15 am 6 17 ID 4&5 missing
9:13 am 6 0.1 9:16 am 7 10
...................... .....data continues
9:21 am 9 0.1 9:22 am 10 19
9:22 am 10 0.1 9:23 am 1 10 <- ID back to 1
9:23 am 1 0.1 9:24 am 2 10
9:01 am 2 0.1 9:25 am 3 10
私はので、私は、同じ製品の両方のシステムの検査値を持って一つに二つのデータセットをマージします。期待されるデータ・セットは、次のようになります。
timestamp1 ID1 value1 timestamp2 ID2 value2
9:01 am 1 0.1 9:02 am 1 10
9:03 am 2 0.8 9:04 am 2 15
9:05 am 3 0.1 9:07 am 3 10
9:09 am 4 0.1 9:11 am n/a n/a <-system wrong
9:11 am 5 0.1 n/a n/a n/a
9:13 am 6 0.1 9:15 am 6 17
9:14 am 7 0.1 9:16 am 7 10
..................data continues
9:23 am 1 0.1 9:23 am 1 10 <- ID back to 1
9:01 am 2 0.1 9:25 am 2 10
私はこの問題は、IDのリセット自体ごとに10の製品ということで、いくつかのマージ機能を試してみました。一致する一意のIDはありません。私がmerge()関数から得た結果はすべて乱れています。 実際のデータセットは、通常、1回の実行で> 10,000行のデータを保持します。これらの問題を1行ずつ取り出すことは不可能です。 誰か助けてもらえますか?ありがとう。
マージする独自のIDを作成してみることもできます。 "ID1"列の累積合計と2番目のデータセットの "ID2"列の累積合計と等しい "ID"という各データセット内に列を作成します。 –
IDが「0」または「n/a」の場合、ラグ変数を作成してIDがないかゼロに等しい場合は、ラグ変数+ 1の値を割り当てます。 –
こんにちは、cody_stinsonあなたの返信、私は元のIDに基づいて累積和の一意のIDを作成するのポイントを持っていますが、私はまだこれらの間違ったIDが壊れて累積IDを混乱させる、遅れを作成するのポイントを取得していません。より詳細な例を教えてください。ありがとう! –