我们必须在聚合之前排序吗?

Do we have to sort before aggregate?

我有这样的数据集:

x1 = c("A", "B", "A", "C")  
x2 = c(1,1,1,1)  
y = data.frame(cbind(x1,x2))

我想使用 aggregate() 函数为列 x1 中的每个组计算列 x2 的总和。

我想知道是否必须首先按列 x1 对数据帧进行升序排序才能使用 aggregate() 函数?

不需要排序:

顺便说一句:不要使用 cbind,因为它将所有列转换为一种数据类型,在您的情况下为 character。只需使用 data.frame(x1, x2).

x1 = c("A", "B", "A", "C")
x2 = c(1,1,1,1)
y = data.frame(x1, x2)

aggregate(x2 ~ x1, FUN = sum, data = y)
#>   x1 x2
#> 1  A  2
#> 2  B  1
#> 3  C  1