2016-03-28 5 views
-2

私dplyr参加スキルが少し錆びですが、私はこのように見える2つのデータセットに参加しようとしている:これらへの参加について移動する良い方法は何ので、PとQは、一緒に同じである主キーなしで新しい列に参加するにはどうすればよいですか?

L = c("a","a","a","a") 
M = c("b","b","b","b") 
N = c("c","c","c","c") 
O = c("d","e","d","e") 
P = c(1521,02915,12451,12) 
DF1 <- data.frame(L,M,N,O,P)  

L = c("a","a","a","a") 
M = c("b","b","b","b") 
N = c("c","c","c","c") 
O = c("d","e","f","d") 
Q = c(11,8805,1231,9012) 
DF2 <- data.frame(L,M,N,O,Q) 

をLMNO列?私はdplyrに参加するためのプライマリキーを生成する方法があるかどうかはわかりません。

は、私はそれを行うには法的な操作だとは思わない。私は結果からDF2にO列を失うので、

DF3 <- left_join(DF1,DF2) 

が参加します。私は...ここに

+0

''(DF1、DF2)をマージしようとしないのはなぜ? ? – DatamineR

+3

すべての行に 'left_join'ではなく' full_join'を使用したい場合。 – Gregor

+0

@DatamineR考えられる理由: 'merge'は遅くなり、行順を混乱させる可能性があります。 – Gregor

答えて

-1

を非常に単純な何かが欠けてるような気がしますが、列LMNOに基づいて独自のレコードをしたい場合は、これを試してみてください、

Select DF1.L, DF1.M, DF1.N , DF1.O , DF1.P , DF2.Q 
FROM DF1 JOIN DF2 
ON DF1.L = DF2.L 
AND DF1.M = DF2.M 
AND DF1.N = DF2.N 
AND DF1.0 = DF2.O 
+0

バブルを爆発させることはありませんが、OPがSQLコードを要求しているとは思わない – InfiniteFlashChess

+0

申し訳ありませんが、質問は簡単な質問だと思っていました。 –

関連する問題