2016-04-03 14 views
0

私は2つのデータセットを持っています。最初のデータセット(DF1)はID、var1、var2、結果の4つの変数を持っています。 人物のIDと結果は同じです。 ではなく、var1とvar2が変化しています。それぞれの人が異なる行番号を持つことに注意してください。 ID1が3行を有するように、ID2は、2日付に基づいて予測します。

ID  var1    var2   result 
1  30    2013-11-23  2014-06-26 
1  30    2013-12-23  2014-06-26 
1  30    2014-1-23  2014-06-26 
2  60    2013-10-06  2014-05-10 
2  30    2014-01-6  2014-05-10 

第二のデータセット(DF2)はID、VAR1、VAR2と同じ変数を持っていました。しかし、結果はありません。

ID  var1    var2   
a  30    2013-10-23  
a  30    2013-11-23  
a  30    2014-12-23  
b  60    2013-10-06  
b  30    2014-01-06  
b  30    2014-02-03 

私の質問は、私はDF2でDF1と比較VAR1、VAR2に基づいて結果を各人に与えるために使用できる方法の種類、ありますか?私はDF1の人がDF2とまったく同じvar 1と​​var 2を持つことは不可能かもしれないと思います。

あらかじめご協力いただきありがとうございます!

+0

あなたの質問は完全にはっきりしていません。期待した結果の例を挙げることはできますか?また、 '?merge'を見てください – SymbolixAU

答えて

0

あなたはDF1DF2var1var2にマッチして、一致がある場所に基づいてDF2にresultを割り当てるしようとしていますか?もしそうなら、これは動作します:

DF2$result <- NA 
DF2[which((DF2$var1 %in% DF1$var1) & (DF2$var2 %in% DF1$var2)),'result'] <- DF1[which((DF1$var1 %in% DF2$var1) & (DF1$var2 %in% DF2$var2)),'result'] 

あなたはvar1var2resultfactor変数ではありませんことを確認する必要がありますが、そうでない場合、これは誤った結果を与えるかもしれません。 factorが必要な場合は、最初にnumericまたはcharacterに変換してから、上記のスクリプトを実行した後にfactorに戻ってください。

関連する問題