Wie kann ich mit dplyr eine Funktion auf alle Nicht-Group_by-Spalten anwenden?
Ich versuche, das dplyr-package anwenden einer Funktion auf alle Spalten eines data.Rahmen nicht gruppiert, was ich tun würde, mit aggregate()
:
aggregate(. ~ Species, data = iris, mean)
wo mean
gilt für alle Spalten, die nicht zur Gruppierung verwendet wird. (Ja, ich weiß, ich kann in kollektiver Form, aber ich versuche zu verstehen dplyr.)
Kann ich verwenden summarize
wie diese:
species <- group_by(iris, Species)
summarize(species,
Sepal.Length = mean(Sepal.Length),
Sepal.Width = mean(Sepal.Width))
Aber ist es ein Weg, um mean()
angewendet alle Spalten, die nicht gruppiert, ähnlich wie die . ~
notation aggregate()
? Ich habe einen Daten.Rahmen mit 30 Spalten, die ich will, zu aggregieren, so schreiben Sie die einzelnen Aussagen nicht ideal ist.
InformationsquelleAutor der Frage kmm | 2014-03-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie bereit sind, zu versuchen, eine experimentelle dplyr, können Sie versuchen, den
neue (noch experimentelle)
summarise_each()
:Feedback sehr geschätzt!
Dieser erscheint in dplyr 0.2.
InformationsquelleAutor der Antwort hadley
Diese erhalten Sie fast alle den Weg in
dplyr
.InformationsquelleAutor der Antwort Ramnath