2017-03-03 4 views
-1

Ich habe einen Datenrahmen so folgt aus:Duplikate suchen in verschiedenen Reihen

Country1 Country2 year 
      A B   1993 
      A B   1994 
      A C   1993 
      A C   1994 
      B A   1993 
      B A   1994 
      B C   1993 
      B C   1994 

ich loswerden müssen Sie alle Zeilen mit Verdoppelungen in beiden Spalte eins und zwei zusammen.

Ich schrieb meine eigene Funktion, aber es funktioniert zu langsam auf einem großen Datensatz. Gibt es einen effektiveren Weg?

+0

Sicherlich ein Duplikat. Suchen Sie auf "[r] duplicated data.frame". –

+0

Wie wird Ihre Ausgabe von "unique" oder "duplicated" unterschieden? – discipulus

Antwort

0

Ist das wonach Sie gesucht haben?

Country1 <- c("A", "A", "A", "A", "B", "B", "B", "B") 
Country2 <- c("B", "B", "C", "C", "A", "A", "C", "C")   
year <- c("1993", "1994", "1993", "1994", "1993", "1994", "1993", "1994") 
dat <- data.frame(
    Country1, 
    Country2, 
    year 
    ) 

dat <- dat[ !duplicated(dat[ ,c(1, 2)]), ] 
dat 

    Country1 Country2 year 
1  A  B 1993 
3  A  C 1993 
5  B  A 1993 
7  B  C 1993 
+0

Entschuldigung, ich habe keine klare Erklärung abgegeben. Ich brauche den Datenrahmen wie folgt aussehen: 'CountryA <- c (" A "," A "," A "," A "," B "," B ") CountryB <- c (" B "," B "," C "," C "," C "," C ") Jahr <- c (1993, 1994, 1993, 1994, 1993, 1994) df <- data.frame (LandA, LandB, Jahr) drucken (df) 'Die Daten sind im bilateralen Handel. Daher sind die Wiederholungen von Länderpaaren extra und ich muss sie loswerden. Danke fürs Helfen! – oudzi

Verwandte Themen