2016-08-26 6 views
0

Ich verwende die duplizierte Funktion in R, um die doppelten Zeilen in meinem Datenrahmen zu entfernen.Groß-/Kleinschreibung bei der Verwendung duplizierter

df: 

Name Rank 
    A 1 
    a 1 
    B 2 


df[!duplicated(df),] 

Name Rank 
    A 1 
    a 1 
    B 2 

Die zweite Reihe ist als erstes gleich, aber nicht gelöscht werden, nur weil es den Fall des „A“ und „a“ um Betracht zieht. Um was geht es dabei? Vielen Dank.

+7

See 'tolower'?. – Roland

+1

Ich wollte das gleiche wie @Roland sagen. Wenn du den Fall nicht ändern kannst, lass es uns wissen, denn dafür gibt es eine Arbeit. –

+1

@ Hack-R Thanks.That würde alles auf den Kleinbuchstaben ändern, aber ich kann das nicht tun. – Jain

Antwort

3
# If it's okay to change the case 
df.lower  <- df 
df.lower$Name <- tolower(df$Name) 

df.lower[!duplicated(df.lower$Name),] 

# If you don't want to change the case 
df[!duplicated(df.lower$Name),] 

oder einfach

df[!duplicated(tolower(df$Name)),] 
Name Rank 
1 A 1 
3 B 2 

Das für deduping auf Name basiert. Für die gesamte Zeile können Sie tun:

df.lower[!duplicated(df.lower),] # changes the case 

oder

df[!duplicated(cbind(tolower(df$Name),df$Rank)),] # does not change case 
Verwandte Themen