簡體   English   中英

為什么`colMeans()`和`rowMeans()`函數比使用`lapply()`的mean函數更快?

[英]Why are `colMeans()` and `rowMeans()` functions faster than using the mean function with `lapply()`?

我想問的是,算法上, rowMeans()colMeans()函數如何優化速度?

另外,考慮一下lapply()作用。 它設置了對函數mean()重復調用。 因此,除了實際計算均值(在快速C代碼中完成)的開銷之外, lapply()版本反復lapply()mean()相關聯的健全性檢查代碼和方法分派的開銷。

rowMeans()colMeans()只在內部產生一組健全性檢查,它們的C代碼經過優化,可以在那里循環遍歷行/列,而不是通過單獨的R調用。

rowMeanscolMeans比直接調用C代碼更快,而不是由R解釋器解釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM