Ошибка получения объекта, не найденного при вызове агрегатной функции с помощью FUN = count

#r

#r

Вопрос:

Когда я вызываю агрегатную функцию, я получаю ошибку Error in match.fun(FUN) : object 'count' not found

Я попытался обновить R, а также использовать пакет plyr, но более поздний вариант не дает мне желаемого результата.

 aggregate(soybean.table, by=list(soybean$seed.tmt, soybean$germination), FUN=count)
  

Комментарии:

1.Я думаю, вам нужно length вместо count count is from dplyr , и для этого требуется data.framae в качестве входных данных

2. @akrun сформулируйте это как ответ и опубликуйте его, потому что это сработало.

Ответ №1:

count является ли одна функция in dplyr и in plyr . В dplyr/plyr count data.frame/data.table/tbl_df качестве входных данных требуется a . При aggregate этом возможность определения количества строк будет length

 aggregate(soybean.table, by=list(soybean$seed.tmt, soybean$germination), FUN= length)
  

В качестве воспроизводимого примера

 aggregate(mtcars, list(mtcars$vs, mtcars$am), FUN = length)
  

Возможно, было бы лучше выбрать один столбец и сгруппировать по интересующему столбцу, поскольку length он будет таким же, если переменные группировки одинаковы, например

 aggregate(mpg ~ vs   am, mtcars, FUN = length)
  

Или иметь другое имя столбца

 aggregate(cbind(Count = seq_along(mpg))~ vs   am, mtcars, FUN = length)