如何使用(L,S)apply系列在R中优化此慢速嵌套循环?

爱德华多·巴巴罗(Eduardo Barbaro)

这是一个例子:

result <- array(1, c(7,7,7))
for(i in 1:7){
  for(j in 1:7){
    for(k in 1:7){
      result[i,j,k] <- i*j*k
    }
  }  
}
理查德·特尔福德

您可以使用%o%比循环快得多的速度。这与使用相同outer

> 1:7 %o% 1:7 %o% 1:7

> identical(result, 1:7 %o% 1:7 %o% 1:7)

library("microbenchmark")

> microbenchmark(1:7 %o% 1:7 %o% 1:7,    forloop = for(i in 1:7){
+    for(j in 1:7){
+     for(k in 1:7){
+       result[i,j,k] <- i*j*k
+     }
+   }  
+ } )
Unit: microseconds
                expr     min       lq      mean  median       uq      max neval
 1:7 %o% 1:7 %o% 1:7  19.673  21.3000  30.54441  26.030  30.4610  269.072   100
             forloop 680.274 693.1025 730.68298 703.042 716.6775 1367.285   100

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用apply()在R中嵌套for循环

来自分类Dev

使用R中的Apply函数的嵌套循环

来自分类Dev

如何在数组和矩阵上使用Apply系列函数而不是R中的for循环?

来自分类Dev

在函数扫描和嵌套循环上使用慢速和错误估计优化 PostgreSQL 查询

来自分类Dev

优化慢速循环操作

来自分类Dev

如何使用嵌套循环反转此模式?

来自分类Dev

如何使用嵌套的for循环编写此代码?

来自分类Dev

如何优化此数组循环

来自分类Dev

如何优化此数组循环

来自分类Dev

如何使用numpy在数组上优化此双循环?

来自分类Dev

如何使用多个循环优化此Fortran子例程?

来自分类Dev

在Ruby中优化嵌套循环

来自分类Dev

如何在R中循环使用此高阶函数?

来自分类Dev

优化嵌套循环以在R中的矩阵上进行计算

来自分类Dev

在R中使用嵌套循环进行优化(向量化?)

来自分类Dev

R-用apply系列中的函数替换双循环

来自分类Dev

R-用apply系列中的函数替换双循环

来自分类Dev

如何使用data.table优化嵌套的for循环?

来自分类Dev

使用GCC在C / C ++中优化循环中的嵌套if语句

来自分类Dev

R 中的 FOR 循环优化

来自分类Dev

如何构造此嵌套的for循环?

来自分类Dev

如何改善此嵌套循环?

来自分类Dev

如何消除R中的此循环

来自分类Dev

如何消除R中的此循环

来自分类Dev

如何使用 apply 语句而不是 for 循环来执行此代码?

来自分类Dev

如何优化此for循环的计算速度?

来自分类Dev

我如何优化此python循环?

来自分类Dev

如何优化此方法并避免foreach循环

来自分类Dev

如何使用apply()系列将多列连接成R中的单个向量