Duplikate basierend auf der Bedingung der 2. Spalte entfernen
Ich versuche, doppelte Zeilen aus einem Datenrahmen zu entfernen, basierend auf dem Maximalwert in einer anderen Spalte
So, für den Datenrahmen:
df<-data.frame (rbind(c("a",2,3),c("a",3,4),c("a",3,5),c("b",1,3),c("b",2,6),c("r",4,5))
colnames(df)<-c("id","val1","val2")
id val1 val2
a 2 3
a 3 4
a 3 5
b 1 3
b 2 6
r 4 5
Ich möchte alle Duplikate nach ID entfernen, mit der Bedingung, dass sie für die entsprechenden Zeilen nicht den Maximalwert für val2 haben.
Damit sollte der Datenrahmen wie folgt aussehen:
a 3 5
b 2 6
r 4 5
-> entferne alle Duplikate, behalte aber die Zeile mit dem Maximalwert für df $ val2 für die Teilmenge (df, df $ id == "a")