stackoverflow newbie here我讀了很多聚合(),由()和tapply()指導,但沒有找到答案。Aggregate() - R - 是否可以對所有子集和超集進行計算?
中的R幫助頁面使用示例(warpbreaks是R中的數據集),
> aggregate(breaks ~ wool + tension, data = warpbreaks, mean)
wool tension breaks
1 A L 44.55556
2 B L 28.22222
3 A M 24.00000
4 B M 28.77778
5 A H 24.55556
6 B H 18.77778
但我應該怎麼代碼,如果我還需要所有超集的結果(如第7行到10) ?
wool tension breaks
1 A L 44.55556
2 B L 28.22222
3 A M 24.00000
4 B M 28.77778
5 A H 24.55556
6 B H 18.77778
7 A - #mean of the set that wool=A, but no restriction to tension
8 B -
9 - L #mean of the set that tension=L, but no restriction to wool
10 - - #mean of the whole set in data frame
如果您沒有使用聚合函數的方法也是可以的。非常感謝!
大家好,非常感謝您的回答!實際上,我有40多個子集和200多個變量來計算(例如,不僅一個變量「中斷」)。因此,我發現使用tapply
或aggregate(breaks ~ tension, data = warpbreaks, mean)
然後合併結果效率不高。 Plz告訴我在這種情況下是否有更好的數據處理方法!
'聚合(打破張力,數據= warpbreaks,意思)'和羊毛一樣,是你問什麼? – rawr
'aggregate(break〜0,data = warpbreaks,mean)'或者簡單地'mean(warpbreaks $ breaks)' – jogo
這是我問過的第一個問題!也許答案是現在雖然過時,但http://stackoverflow.com/questions/16824544/apply-a-function-to-dataframe-subsetted-by-all-possible-combinations-of-categori – jenesaisquoi