【发布时间】:2021-08-20 09:31:34
【问题描述】:
我刚刚遇到 data.table 并第一次尝试对我现有的 dplyr 代码进行基准测试,看看它们在执行时间上是否有任何差异,如果有,那么将开始学习 @987654322 @
在 data.table 中尝试了一些代码,但 未能复制 dplyr 结果。
library(tidyverse)
library(data.table)
df_ind_stacked_daily <- read.csv(url("https://raw.githubusercontent.com/johnsnow09/covid19-df_stack-code/main/df_ind_stacked_daily.csv")) %>%
mutate(Date = ymd(Date)) %>% data.table()
data.table 代码尝试:
df_ind_stacked_daily[Daily_cases_type == "Daily_confirmed" &
Date >= max(Date) - 6 & Date <= max(Date) &
State.UnionTerritory != "India",
by = Date] %>%
.[order(-Daily_cases_counts),
.SD[1],
by = Date]
dplyr 代码:
df_ind_stacked_daily %>% as_tibble() %>%
filter(Daily_cases_type == "Daily_confirmed",
Date >= max(Date) - 6 & Date <= max(Date),
State.UnionTerritory != "India"
) %>%
group_by( Date) %>%
slice_max(order_by = Daily_cases_counts, n = 10) %>%
ungroup()
感谢任何帮助!
【问题讨论】:
-
对于未来的问题,请学习如何创建最小的、独立的示例。
-
@Henrik,当然会记住这一点。谢谢!!
标签: r data.table