dplyr на data.table, я действительно использую data.table?

Если я используюdplyr синтаксис в верхней частиТаблица данныхполучить все преимущества скорости от datatable при использовании синтаксиса dplyr? Другими словами, могу ли я неправильно использовать datatable, если я запрашиваю его с синтаксисом dplyr? Или мне нужно использовать чистый синтаксис данных, чтобы использовать всю его мощь.

Спасибо заранее за любые советы. Пример кода:

library(data.table)
library(dplyr)

diamondsDT <- data.table(ggplot2::diamonds)
setkey(diamondsDT, cut) 

diamondsDT %>%
    filter(cut != "Fair") %>%
    group_by(cut) %>%
    summarize(AvgPrice = mean(price),
                 MedianPrice = as.numeric(median(price)),
                 Count = n()) %>%
    arrange(desc(Count))

Результаты:

#         cut AvgPrice MedianPrice Count
# 1     Ideal 3457.542      1810.0 21551
# 2   Premium 4584.258      3185.0 13791
# 3 Very Good 3981.760      2648.0 12082
# 4      Good 3928.864      3050.5  4906

Вот примерная эквивалентность, с которой я столкнулся. Не уверен, что это соответствует хорошей практике DT. Но мне интересно, действительно ли код более эффективен, чем синтаксис dplyr за сценой:

diamondsDT [cut != "Fair"
        ] [, .(AvgPrice = mean(price),
                 MedianPrice = as.numeric(median(price)),
                 Count = .N), by=cut
        ] [ order(-Count) ]

Ответы на вопрос(3)

Ваш ответ на вопрос