我最近正在运行在R 3.2.2版本下开发的R脚本,在R 3.5.1下使用dplyr 0.7.6在dplyr 0.5.0下运行。令我惊讶的是,该代码比正常运行时间花费了大约100倍的时间,我追溯到在以下表达式中使用group_by函数:I
matches=as.data.frame(df %>%
group_by(id) %>%
filter(living_quarters >= matching_living_quarters,
abs(age-matching_age) <= 4,
index<matching_index-lag_time,
sex==matching_sex) %>%
mutate(matched_id=matching_id))
到目前为止,我找不到任何原因来说明运行时间会变得如此糟糕。是group_by导致了早期版本中的并行处理,还是有人了解为什么更新版本处理这种直接使用的速度会慢得多?