Kann ich aggregate()
mit mehr Funktionen so verwenden, dass Aggregationen als separate Spalten und nicht als Teil einer Matrix gespeichert werden? Ich möchte Datenrahmen mit Spalten Group.1, cyl.1, cyl.2
, nicht Group.1, cyl
haben.Aggregat() mit mehr Funktionen -
# Only one function
> aggdata <-aggregate(mtcars["cyl"], by=list(vs), FUN=mean, na.rm=TRUE)
> aggdata
Group.1 cyl
1 0 7.444444
2 1 4.571429
> str(aggdata)
'data.frame': 2 obs. of 2 variables:
$ Group.1: num 0 1
$ cyl : num 7.44 4.57
>
# Two functions
> aggdata <-aggregate(mtcars["cyl"], by=list(cyl), FUN=function(x) c(length(x),mean(x)))
> aggdata
Group.1 cyl.1 cyl.2
1 4 11 4
2 6 7 6
3 8 14 8
> str(aggdata)
'data.frame': 3 obs. of 2 variables:
$ Group.1: num 4 6 8
$ cyl : num [1:3, 1:2] 11 7 14 4 6 8
> aggdata$cyl
[,1] [,2]
[1,] 11 4
[2,] 7 6
[3,] 14 8
+1. Ich dachte darüber nach, diese Option zu teilen, weil ich ihre Syntax viel besser finde, aber sie geht nicht auf die eigentliche Frage ein, was mit der Ausgabe von "aggregate" zu tun ist, die ich schon einmal gesehen habe und die etwas unpraktisch ist . – A5C1D2H2I1M1N2O1R2T1
@AnandaMahto Ich stimme zu, dass es die Frage nicht beantwortet (und soweit die Frage geht Ihr ist die Antwort darauf), aber ich denke im Grunde OP war die falsche Frage :) – eddi
Ich habe gerade [die Quelle meiner gefunden Antwort] (http://stackoverflow.com/a/14759569/1270695). Es gibt ein paar andere ähnliche Fragen, aber hier habe ich den 'do.call (data.frame, ...)' Ansatz gelernt. – A5C1D2H2I1M1N2O1R2T1