Я запускаю n_distinct в сгруппированном тибле, кажется, в dplyr 1.0.0 он работает намного медленнее, чем в предыдущих версиях dplyr.
Например, при использовании машины с dplyr 0.8.5 :
> library(dplyr)
> test <- data.frame(a = rep(1:10000, 3), b = round(runif(30000, 0, 3)))
> system.time(tmp <- test %>% group_by(a) %>% mutate(c = n_distinct(b)))
user system elapsed
0.015 0.000 0.015
Использование машины с dplyr 1.0.0:
> library(dplyr)
> test <- data.frame(a = rep(1:10000, 3), b = round(runif(30000, 0, 3)))
> system.time(tmp <- test %>% group_by(a) %>% mutate(c = n_distinct(b)))
user system elapsed
2.043 0.000 2.043
Кто-нибудь знает об этом? Должен ли я использовать другой метод для этого в dplyr 1.0.0?