Как и следующий исходный код об агрегирующей функции, я не могу понять, почему мы должны использовать функцию 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 '). Тем не менее, вы можете сделать это «aggregate» (Sales ~ Store, data = train [Sales! = 0,], mean) ', чтобы избежать функции' list() '. 'state.x77' - это уже набор данных, поэтому вы можете использовать его, как в примере. – Jimbou