私はRで簡単な方法を探していましたが、見つけられなかったので、ここに投稿しています。Rで2つのデータフレームの違いを取るR
のは、私は、次のデータフレーム
state1 score1 state2 score2
A 1 A 3
A 2 B 13
A 1 C 5
B 10 A 1
B 5 B 0
B 3 C 0
C 2 A 5
C 0 B 6
C 1 C 3
と第二のデータフレームを持っていると仮定しましょう
state1 state2 score
A A 0
A B -1
A C 3
B A 2
B B 1
B C 1
C A 2
C B 2
C C 1
はのは、最初のデータフレーム、DF1を呼ぶことにしましょう、と第二のマージン、DF2を呼び出しています。
同じ(state1、state2)のペアを持つdf1、df2を見てください。 一致するペアごとに、df1のscore1からdf2のスコアを減算してnewscore1とし、df2のscore2からdf2のスコアを減算してnewscore2とします。この場合、以下の出力が望ましいでしょう。
state1 newscore1 state2 newscore2
A 1 A 3
A 3 B 14
A -2 C 2
B 8 A -1
B 4 B -1
B 2 C -1
C 0 A 3
C -2 B 4
C 0 C 2
1/2ライナーの解決策はありますか? そうでなければ、私はしなければならない
1)state1、state2がdf1と一致するようにdf2を並べ替える(この場合、df1の行1はすでにdf2の行1と一致するので何もする必要はない、DF1の行2は、すでに)DF2にし、その上の行2で
2と一致する)DF1 $ SCORE1-DF2の$スコア、DF1 $ score2-DF2の$スコア
「サンプル」を使用する場合は、サンプルを再現可能にするために 'set.seed()'も使用する必要があります。 – SymbolixAU