如何解决加快R中的group_by计算
我有以下问题。我使用group_by函数的计算速度非常慢,我正在寻找加快速度的方法。我想按过滤器组A-F的所有组合对数据框进行分组。产生交叉点没问题,但是延迟会花费很长时间(实际上数据集要大得多)。
每个过滤器组的组件(例如“ RT3p025”)每行只能具有值1或NA。我实际上不需要每个group_by调用也可以对每个组合按NA进行分组,只要= 1就足够了。如果我可以告诉分组依据忽略NA分组,那么我大概可以节省一半的计算时间。你怎么看?我还能在代码中更改什么?
A <- c("ORp0")
B <- c("ORp025")
C <- c("ORp05")
D <- c("RT3p0","RT3p025","RT3p05")
E <- c("RT4p0","RT4p025","RT4p05")
F <- c("RT5p0","RT5p025","RT5p05")
filtergroups <- crossing(A,B,C,D,E,F)
filtergroups <- split(unlist(filtergroups,use.names = FALSE),row(filtergroups))
results = lapply(filtergroups,FUN = function(x) {
do.call(what = group_by_,args = c(list(Datatobefiltered),x)) %>%
summarise(n = length(Size),avgVar1 = mean(Size))
})
非常感谢您。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。