0

次のように sfLapply 呼び出しで反復回数を参照することは可能ですか?

wrapper <- function(a) {
    y.mat <- data.frame(get(foo[i,1]), get(foo[i,2]))
        ...
        ...
        do other things....

    }


results <- sfLapply(1:200000, wrapper)

ここで、i は sfLapply が 1:200000 を循環するときの反復回数です。

私が直面している問題は、テストするケースが 200,000 件を超えていることです。各ケースでは、さまざまな操作が実行される data.frame の構築が必要です。

私は 2 Ghz Intel Core 2 Duo プロセッサ (macbook ラップトップ) を持っているので、並列処理を利用するために Snowfall パッケージの調査を開始しました。これが私を sfLapply に導いたので、lapply() で動作するようにコードを書き直すことができるかどうかを調査し始めました。ただし、lappy() 呼び出しで反復回数を参照する例にはまだ遭遇していません。

多分私は間違った方向に向かっています。誰かに何か提案があれば、私は大いに感謝します。

4

1 に答える 1

1

ラッパーのコードでパラメーター a を使用していません。1:200000 からのすべての数値がラッパーに渡されるため、反復を表すのは (i ではなく) この a です。

ただし、これらは順番に表示されないことを忘れないでください (sfLapply 提供)。

私の知る限り、さまざまなプロセスが他のプロセスが何をしているかを知らないため、反復回数を知る方法はありません。

于 2011-04-28T06:41:32.550 に答える