问题描述
我有以下问题。我使用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 (将#修改为@)