像下面关于聚合函数的源代码,我不明白为什么我们必须在这里使用list函数()。而不是我想用一个需要分组的列来替换它。我不知道为什么我们使用相同的数据集,例如'train [Sales!= 0]'两次?如果我使用其他数据集作为第二个数据集参数,该怎么办?我认为这会使改变成为相当高的可能性错误。聚合函数不直观
aggregate(train[Sales != 0]$Sales,
by = list(train[Sales != 0]$Store), mean)
也许有人会说这是错误的用例。但我也在R中看到这个源代码
## Compute the averages for the variables in 'state.x77', grouped
## according to the region (Northeast, South, North Central, West) that
## each state belongs to.
aggregate(state.x77, list(Region = state.region), mean)
感谢您阅读我的问题。
我认为你的代码可能是错误的。如果'train'是一个矩阵或data.frame这个命令'train [Sales!= 0]'给你一个错误('undefined columns selected')。尽管如此,你可以这样做,以避免使用list()函数。 'state.x77'是一个已经附加的数据集,因此你可以像这个例子一样使用它。 – Jimbou