Hi,
ich würde gerne aus einem Dataframe Zeilen mit einem gleichen Attribut zusammenführen. In dem folgenden Beispiel sollte in der Tabelle also nur noch ein Eintrag mit "apple" stehen, hinter dem dann die Summe der "cost"s für alls "apple"s summiert steht - das gleiche für "pear" etc. Ich möchte das aber nicht für jedes Attribut einzeln definieren. Gibt es eine Möglichkeit, das zu automatisieren (also dass R eine ganze Spalte des Dataframe nach gleichartigen Zellen durchsucht und die betreffenden Zeilen zusammenführt)?
Beispiel:
fruit <- c("apple", "pear", "orange", "apple", "strawberry", "apple", "apple", "grape", "pear")
cost <- c(1,3,5,2,4,6,3,7,8)
example <- data.frame(cbind(fruit, cost))
Zeilen in Dataframe mit gleichem Attribut zusammenführen
Re: Zeilen in Dataframe mit gleichem Attribut zusammenführen
Code: Alles auswählen
fruit <- c("apple", "pear", "orange", "apple", "strawberry", "apple", "apple", "grape", "pear")
cost <- c(1,3,5,2,4,6,3,7,8)
example <- data.frame(fruit, cost)
aggregate(cost ~ fruit, data = example, sum)
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.
Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
.
Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
.
Re: Zeilen in Dataframe mit gleichem Attribut zusammenführen
Code: Alles auswählen
example <- data.frame(
fruit = c("apple", "pear", "orange", "apple", "strawberry", "apple",
"apple", "grape", "pear"),
cost = c(1,3,5,2,4,6,3,7,8)
)
tapply(example$cost, example$fruit, sum)
aggregate(example$cost, list(example$fruit), sum)
by(example$cost, list(example$fruit), sum)
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte