【发布时间】:2012-09-27 10:01:27
【问题描述】:
我想问的是,从算法上讲,rowMeans() 和 colMeans() 函数做了什么来优化速度?
【问题讨论】:
-
我不认为这是算法问题,我认为这是一个问题,什么可以直接用 C 编码,什么必须通过 R 解释器。
标签: performance r mean
我想问的是,从算法上讲,rowMeans() 和 colMeans() 函数做了什么来优化速度?
【问题讨论】:
标签: performance r mean
此外,请考虑lapply() 的作用。它设置对函数mean() 的重复调用。因此,除了实际计算平均值的开销(在快速 C 代码中完成)之外,lapply() 版本反复产生与mean() 相关的健全性检查代码和方法调度的开销。
rowMeans() 和 colMeans() 在内部只进行一组完整性检查,它们的 C 代码经过优化以循环遍历那里的行/列,而不是通过单独的 R 调用。
【讨论】:
rowMeans 和 colMeans 比它们直接调用 C 代码而不是由 R 解释器解释更快。
【讨论】:
rowMeans 和colMeans 之间的速度/效率是否存在差异?谢谢。 (查看了关于so的各种问题,但找不到提及,我是否错过了有关此的相关帖子?)