私が現在取り組んでいるプロジェクトについて、私は作業中のコードの速度を段階的に上げようとしています。プロジェクトは現在、プロジェクトを開始するには、10M-1B行と24列の間のどこかでデータフレームを初期化する必要があります。最初の8列は文字列、次の16列は整数なので、文字列のために行列ではなくデータフレームでなければなりません。R - できるだけ早くデータフレームを初期化する
現在、私は持っている:
starttime = Sys.time()
total_num_lineups = 100000000
lineup = as.data.frame(matrix(nrow = total_num_lineups, ncol = 24))
Sys.time() - starttime
# Time difference of 44.70181 secs
100M行に対して約45秒をとります。このプロジェクトは1B行以上の拡張が可能で、これが私が修正しようとしている最初のボトルネックです。このステップをどのようにスピードアップするかについてのご意見は、大変に感謝しています。
追加 - 私は必要に応じてプロジェクトに関する追加情報を提供することができますが、問題によって焦点を絞った問題がより良いかもしれないと考えました。より高速であれば、コンテナを(データテーブルや他の構造に)切り替えることができます。
ありがとうございます!
これをどのように実行しましたか。必要な列の種類を取得するには、次のようにします。 「エラー:サイズ8.9Gbのベクトルを割り当てることができません」 –
リッチで、メモリの問題であると推測します。この大きなメモリ内オブジェクトを扱うことは、特定のシステムが処理できるものの限界を押し上げる可能性があります。私のマシンは上記のコードに問題はありませんでした。 – jrdnmdhl
あなたはこのステップが必須かどうか肯定的ですか? – rawr