使用aggregate
,R將創建一個列表Z,該列表可以用a$Z$`1.2`
的形式索引,其中第一個數字引用X中的對應元素,同樣對於Y.此外,如果X或Y有10個以上元素,表格更改爲a$Z$`01.02`
(假設對於100多個元素爲001.002
)。使用值而不是索引訪問聚合數據
而不必係數Z-與零填充索引值X和Y的中,我怎麼能與實際的X和Y值,而不是(如a$Z$`52.60`
),這似乎更直觀的指標!
df = data.frame(X=c(50, 52, 50), Y=c(60, 60, 60), Z=c(4, 5, 6))
a = aggregate(Z ~ X + Y, df, c)
str(a)
'data.frame': 2 obs. of 3 variables:
$ X: num 50 52
$ Y: num 60 60
$ Z:List of 2
..$ 1.1: num 4 6
..$ 1.2: num 5
這真的很流暢直觀!太糟糕了R沒有這個選項(?),所以你必須在每次聚合時添加這些額外的代碼行,或者創建一個包裝函數。 – forthrin
是的。我查看了幫助文件'聚合',並沒有看到任何有這種能力的論點。 – lmo