Wie kann dplyr generieren von Daten-Frames für jede Gruppe nach der group_by-Betrieb?

War ich sehr schockiert von der Glätte des dplyr-package im flow-style-Daten-Verarbeitung. Vor kurzem habe ich in Eile ein problem erzeugen Sie einen neuen data frame für jede Gruppen-ID und kombinieren Sie diese kleinen Daten-frames zu einer letzten größeren Daten-frame. Ein Spielzeug Beispiel:

input.data.frame %>%
    group_by(gid) %>%
    {some operation to generate a new data frame for each group} ## FAILED!!!!

In dplyr, die Funktion mutate hinzufügen der neuen Spalte für jede Gruppe und summarise Generierung von Zusammenfassungen für jede Gruppe, die beide erfüllt nicht meine Anforderung. (Habe ich etwas übersehen?)

Alternativ mit ddply von plyr package, die bisherigen interation von dplyr, kann ich es über

ddply(input.data.frame, .(gid), function(x) {
     some operation to generate a new data frame for each group
}

Aber der Mangel ist einige funcs in dplyr maskiert, von Nutzbarkeit, wenn ich lade das plyr package.

  • Verwenden Sie die do Betreiber in einem solchen Fall. Allerdings wäre es besser, wenn Sie zeigte uns, was Sie wirklich wollen, zu tun / am Ende erreichen. Aus der Hilfe: "können Sie tun, um ausführen beliebigen Berechnung, Rückkehr entweder einen Daten-frame oder beliebige Objekte werden in einer Liste gespeichert."
  • Schöne Einleitung "ich war sehr schockiert, von der Glätte des dplyr-package im flow-style-Daten verarbeitet." 🙂
  • Und übrigens, wenn Sie das laden beider Pakete (plyr und dplyr) die Empfehlung zu laden plyr ersten und dann dplyr, so der "standard" - Paket für z.B. "zusammenfassen" wäre dplyr, aber wenn Sie es brauchen, von plyr, verwenden Sie einfach plyr::summarise um das Paket explizit.
  • do, das ist das, was ich Suche!! Eine wirklich Allgemeine Bedienung. Dank Kerl. 🙂
InformationsquelleAutor caesar0301 | 2014-11-07
Schreibe einen Kommentar