我可以使用aggregate()
以更多功能以聚合存儲爲單獨列而不是矩陣的一部分嗎?我想有數據幀與列Group.1, cyl.1, cyl.2
,而不是Group.1, cyl
。具有更多功能的集合() -
# 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。我想分享這個選項,因爲我喜歡它的語法好得多,但它沒有解決關於如何處理'aggregate'輸出的實際問題,這是我之前遇到的,並且發現處理有些尷尬。 – A5C1D2H2I1M1N2O1R2T1
@AnandaMahto我同意,它不回答這個問題(只要你的問題是它的答案),但我基本上認爲OP是問錯了問題:) – eddi
我剛剛發現[我的來源答案](http://stackoverflow.com/a/14759569/1270695)。還有一些類似的問題,但這是我學習'do.call(data.frame,...)'方法的地方。 – A5C1D2H2I1M1N2O1R2T1