2016-10-31 3 views
1

Ich muss Duplikate in einem Datenrahmen in einer bestimmten Spalte identifizieren. Allerdings möchte ich nicht alle doppelten Werte eliminieren, sondern nur die, die "http" als Anfangsteil der Zeichenfolge in dieser Spalte anzeigen.R: Identifizieren Duplikate in einer Spalte nach Bedingung in der gleichen Spalte

Normalerweise würde ich die Duplikate mit dem Codezeile identifiziert unten:

Dup <-data[(duplicated(data[c("var1")])),] 

Vielen Dank im Voraus.

+0

Sie können versuchen, Daten [grepl ("^ http", Daten $ var1) & dupliziert (Daten $ var1),] '. Wenn Sie die Duplikate entfernen möchten, negieren Sie sie einfach. 'data [! (grepl ("^http ", Daten $ var1) & dupliziert (Daten $ var1)),]' – akrun

+0

Vielen Dank, Ihr Vorschlag macht genau das, was ich wollte. –

Antwort

1

Wir benötigen eine weitere Bedingung mit grep, um sicherzustellen, dass nur die Strings, die mit "http" beginnen und ein Duplikat sind, aus dem Dataset entfernt werden.

data[!(grepl("^http", data$var1) & duplicated(data$var1)),] 
Verwandte Themen