加快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 (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...