2017-02-14 21 views
1

なしペアごとのデータセットを作成し、私は次のようなデータセットでRおよびSQL(パッケージsqldf)に取り組んでいます:RのSQLを繰り返し

View(dataset) 

key1 key2 id ... 
01/01 XXX  A  ... 
01/01 XXX  B  ... 
01/01 YYY  C  ... 
01/01 YYY  D  ... 
02/01 XXX  A  ... 
02/01 XXX  B  ... 
02/01 XXX  C  ... 

私はそれぞれに一組でペアごとのデータセットを作成したいですKEY1とKEY2によって識別されるグループには、次のように:

key1 key2 id_1 id_2  
01/01 XXX  A  B 
01/01 YYY  C  D 
02/01 XXX  A  B 
02/01 XXX  A  C 
02/01 XXX  C  B 

私は

sqldf(c('select a.key1, a.key2, a.id as id_1, 
        b.id as id_2 
        from dataset a 
        inner join dataset b on a.key1=b.key2 and a.key2=b.key2 and a.id!=b.id')) 

を使用していた問題をtこのクエリでの帽子は私はいくつかのcomparaisonsを作りたいので、私は、繰り返しを避けるしたいと思いますし、ID_2の列ID_1とした置かれたIDは関係ありません

key1 key2 id_1 id_2  
01/01 XXX  A  B 
01/01 XXX  B  A  
01/01 YYY  C  D 
01/01 YYY  D  C 
02/01 XXX  A  B 
02/01 XXX  B  A 
02/01 XXX  A  C 
02/01 XXX  C  A 
02/01 XXX  C  B 
02/01 XXX  B  C 

を得ます。

ありがとうございました!

答えて

3

a.id != b.idからa.id < b.id

に変更してください。
関連する問題