Ich muss Aggregatreihen eines Datenrahmens mit vielen Reihen in dieser Weise:Wie wird die Priorität beim Zusammenfassen von Zeilen eines Datenrahmens festgelegt?
Nehmen wir I zwei Reihen, die ich zusammenführen sollen (da sie die gleichen ersten Element haben):
x1=c(ID1,1,3,2,1,NA);
x2=c(ID1,2,2,3,NA,NA);
Ich möchte ihre Werte so zusammenführen, dass das Ergebnis im Falle eines Konflikts (clash = beide Zeilen haben einen Nicht-NA-Wert im Element) den Wert in einer Zeile mit höherem Wert im zweiten Element (das ist x2) bevorzugt.
So im Beispiel das Ergebnis der Aggregation dieser insbesondere zwei Reihen sind:
x12=c(ID1,2,2,3,1,NA)
Kann jemand bitte helfen? Ich versuchte aggregate()
, aber es bietet nur zusammenfassende Statistiken wie Mittelwert, max usw.
Kann es mehr als 1 ID1 an einem Datenrahmen geben oder ist es einzigartig? Können Sie eine Stichprobe der Daten (die 2 Datenrahmen) geben? Es ist nicht klar, ob eine Funktion x1 und x2 als Eingabe und Ausgabe x12 oder eine Lösung für beide Datenfelder erhalten soll. –
Bitte geben Sie Beispieldaten an, die darstellen, was Sie tun möchten. Sie sagen, Sie möchten zwei data.frames nach Zeilen zusammenführen, haben aber nur zwei Vektoren bereitgestellt. Tipps zur Erstellung eines Mindestbeispiels (http://stackoverflow.com/help/mcve) sowie zur Erstellung von [examples in R] finden Sie im folgenden Artikel (http://stackoverflow.com/questions/5963269/how- um ein großartiges r-reproduzierbares Beispiel zu erstellen. – lmo