dplyr em data.table, estou realmente usando data.table?
Se eu usardplyr sintaxe em cima de umTabela de dados, recebo todos os benefícios de velocidade da tabela de dados enquanto ainda uso a sintaxe do dplyr? Em outras palavras, utilizo mal a tabela de dados se a consultar com sintaxe dplyr? Ou preciso usar a sintaxe pura da tabela de dados para aproveitar todo o seu poder.
Agradecemos antecipadamente por qualquer conselho. Exemplo de código:
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))
Resultados:
# 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
Aqui está a equivalência de dados que eu criei. Não tenho certeza se está em conformidade com as boas práticas da TD. Mas eu me pergunto se o código é realmente mais eficiente do que a sintaxe dplyr nos bastidores:
diamondsDT [cut != "Fair"
] [, .(AvgPrice = mean(price),
MedianPrice = as.numeric(median(price)),
Count = .N), by=cut
] [ order(-Count) ]