Lassen Sie uns sagen, dass ich vier Proben haben: id = 1, 2, 3 und 4, mit einem oder mehreren Messungen an jeder dieser Proben:Duplikate entfernen Eintrag mit dem größten absoluten Wert zu halten
> a <- data.frame(id=c(1,1,2,2,3,4), value=c(1,2,3,-4,-5,6))
> a
id value
1 1 1
2 1 2
3 2 3
4 2 -4
5 3 -5
6 4 6
Ich möchte Entfernen von Duplikaten, wobei nur eine Eingabe pro ID gespeichert wird - diejenige mit dem größten absoluten Wert der Spalte "value". Das heißt, was ich will:
> a[c(2,4,5,6), ]
id value
2 1 2
4 2 -4
5 3 -5
6 4 6
Wie kann ich das in R tun?
Sie erwähnen „* nur ein Eintrag pro ID zu halten - die eine der größten absoluten Wert der‚Wert‘mit Spalte. * "Was ist das gewünschte Verhalten, wenn mehr als ein Eintrag pro ID diese Bedingung erfüllt? Geben Sie beide Werte oder beide Werte zurück? Zum Beispiel, was ist Ihre gewünschte Ausgabe, wenn 'a [3, 2] <- 4'? – A5C1D2H2I1M1N2O1R2T1
Ah .. das ist eine gute Frage. Die Wertespalte ist eine tatsächlich reelle Zahl, keine Ganzzahl und wird wahrscheinlich nie genau gleich sein. Ideales erwünschtes Verhalten sollte wahrscheinlich sein, beide Beobachtungen zu verwerfen, aber das wird wahrscheinlich nicht passieren, wie ich sagte. –
Danke allen für die Hilfe. –