我刚刚更新到最新dplyr
版本 1.0.0。尝试函数中的新summarize
功能,例如across
和.groups
。但令我惊讶的是,与以前的版本相比,我的代码变得非常慢。这是一个已知的问题?我做错什么了吗??查看示例。
# Create example data set
library(tidyverse)
n_grps <- 10000
n_rep <- 1000
tbbl <- tibble(grp = rep(1:n_grps, each = n_rep),
value1 = rnorm(n_grps * n_rep),
value2 = rnorm(n_grps * n_rep))
以老式方式运行
library(tictoc)
tic()
tbbl %>%
group_by(grp) %>%
summarize_all(mean) %>%
ungroup()
toc()
在我的 Windows 机器上花费不到一秒钟。将其替换为summarize
/across
tic()
tbbl %>%
group_by(grp) %>%
summarize(across(everything(), mean), .groups = "drop")
toc()
超过9秒!
欢迎提出建议。