ich auf R arbeite und SQL (Paket sqldf) auf einem Datensatz wie die folgenden:R SQL erstellen paarweise Daten-Set ohne Wiederholungen
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 ...
Ich mag eine paarweise Datensatz mit einem Paar für jeden schaffen Gruppe von key1 und key2 identifiziert, wie folgend:
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
I
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'))
Das Problem ist, t verwendet haben Hut mit dieser Abfrage erhalte ich
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
ich Wiederholungen vermeiden möchte, da ich einige Comparaisons machen wollen und es ist egal, welche ID in der Spalte ID_1 und die in ID_2 gesetzt wird.
Vielen Dank!