GNU R: duplicated

Aus Wikibooks

duplicated(data) überprüft den Datensatz data auf doppelte bzw. mehrfach eingetragene Fälle (Duplikate) und gibt TRUE/FALSE-Werte für jeden Eintrag zurück.

Handhabung[Bearbeiten]

Wir bedienen uns des Datensatzes aus Beispiel 4

duplicated(bsp4) # dies liefert nur FALSE-Werte, da in bsp4 keine Duplikate enthalten sind

Nun erzeugen wir doppelte Einträge:

bsp4 <- rbind(bsp4,bsp4) # wir verdoppeln die Einträge
duplicated(bsp4)


Bei einem großen Datensatz, wie etwa Bundesliga aus dem wikibooks-Zusatzpaket, verliert man schnell die Übersicht. Daher bietet sich folgendes Vorgehen an:

library(wikibooks)              # wikibooks-Paket aktivieren
data(Bundesliga)                # Bundesliga-Datensatz laden
test <- duplicated(Bundesliga)  # Datensatz auf Duplikate prüfen 
is.element(TRUE, test)          # prüfen, ob der Wert TRUE in test vorkommt

Wir erhalten das Ergebnis FALSE. Dies bedeutet, dass der Wert TRUE nicht in test vorkommt. Somit enthält der Bundesliga-Datensatz keine Duplikate.

Eleganter kann dies jedoch in Kombination mit der Funktion which() gelöst werden. Dies liefert die Zeilennamen der Dupliakte zurück:

which(duplicated(bsp4))

Des weiteren lässt sich diese Kombination auch als Argument zur Zeilendarstellung verwenden:

bsp4[which(duplicated(bsp4)),]

Die Ausgabe von duplicated lässt sich umkehren, wenn ein Ausrufezeichen vorangestellt wird:

bsp4[which(!duplicated(bsp4)),]

siehe auch[Bearbeiten]