3

私が質問したいのは、アルゴリズム的に、速度を最適化するために関数rowMeans()と関数が何をするかということです。colMeans()

4

2 に答える 2

5

さらに、何をするかを考えてみましょうlapply()。関数の繰り返し呼び出しをセットアップしますmean()。そのため、平均を実際に計算するオーバーヘッド (高速な C コードで行われます) と同様に、このlapply()バージョンでは、 に関連するサニティ チェック コードとメソッド ディスパッチのオーバーヘッドが繰り返し発生しますmean()

rowMeans()またcolMeans()、内部的に単一セットのサニティ チェックのみが発生します。C コードは、個別の R 呼び出しではなく、行/列をループするように最適化されています。

于 2012-10-18T11:14:48.457 に答える
4

rowMeansRインタープリターによって解釈されるのでcolMeansはなく、Cコードを直接呼び出すため、より高速です。

于 2012-10-18T11:09:12.203 に答える