В качестве примера я буду использовать данные mtcars
, доступные в R:
data(mtcars)
setDT(mtcars)
Позвольте мне на днях сгруппировать данные по трем переменным, а именно: carb
, cyl
, и gear
. Я сделал это следующим образом. Тем не менее, я уверен, что есть лучший способ, так как он довольно повторяющийся.
newDTcars <- mtcars [, mtcars[, mtcars[, .N , by = carb], by = cyl], by= gear]
Во-вторых, я хотел бы иметь данные в широком формате, где для каждого уровня gear
имеется отдельный столбец. В целях иллюстрации я сделал это, используя tidyr
, однако я бы хотел, чтобы это делалось способом «data.table».
newDTcars %>% tidyr::spread(gear, N)
Основное внимание в этом вопросе уделяется решению проблемы мира data.table, поскольку я также хотел бы узнать больше о data.table
.