Ich versuche, mit einem Datenrahmen unter Verwendung des dplyr
Paket in R zu üben genannt fruit_eaten wie so:R: verschachtelte Gruppierungen und Gesamtzählungen über dplyr?
person,fruit
Alice,apple
Alice,apple
Alice,apple
Alice,orange
Bob,apple
Bob,banana
Bob,grape
Bob,grape
Bob,grape
Cheryl,orange
Cheryl,orange
Cheryl,kiwi
Donald,apple
Donald,apple
Donald,grape
Donald,grape
Ich mag folgend mit dplyr
tun:
Für jede Art von Obst berechnen sie die aßen die meisten davon (so ist dies keine einfache Zählung, möchte ich die maximale Anzahl zu finden) und wie viele dieser Tabelle zu produzieren:
| fruit | who_ate_most | how_many |
|--------|--------------|----------|
| apple | Alice | 3 |
| orange | Cheryl | 2 |
| banana | Bob | 1 |
| grape | Bob | 3 |
| kiwi | Cheryl | 1 |
Außerdem bin ich mir nicht sicher, wie ich mit Situationen umgehen soll, in denen zwei oder mehr Leute alle die gleiche maximale Anzahl an Früchten gegessen haben.
Und ich versuche, einen Tisch zu machen, dass jede Person und die Frucht auflistet, die sie aßen die meisten und wie viele:
| person | ate_most_of | how_many |
|--------|-------------|----------|
| Alice | apple | 3 |
| Bob | grape | 3 |
| Cheryl | orange | 2 |
| Donald | apple | 2 |
Natürlich ein ähnliches Problem für diese zweite Ausgabetabelle ist, was zu tun, wenn eine Person die gleiche maximale Anzahl von mehr als einer Frucht gegessen hat?
Ich kenne die group_by()
Funktion in dplyr
, aber sieht aus, als ob ich mehr als eine "Gruppe" hier habe. Und wie bekomme ich diese maximale Anzahl für die Spalten "how_many" in beiden Tabellen?
P.S. Die ursprünglichen Daten im Komma-Format (Pastebin-Link here).
Können Sie die Eingabe in einem Format bereitzustellen, dem R-Code eingespeist werden kann als zu SQL-Ausgang dagegen? Dies kann getan werden, und ich kann helfen. Aber, werde nicht Zeit verbringen Text zu formatieren, um es in R zu bekommen. – Gopala
@Gopala Ich habe CSV-Format am Ende des ursprünglichen Beitrags plus einen Pastebin Link hinzugefügt, funktioniert das? Vielen Dank!! – hpy
@Frank Guter Punkt, Krawatte für Donald hinzugefügt. – hpy