1) R のインポート/エクスポート マニュアルは、データのインポートに関する質問の最初の窓口となる必要があります。多くのオプションがあり、何が機能するかは非常に具体的です。
http://cran.r-project.org/doc/manuals/R-data.html
read.table
提供されたオプション、特にcolClasses
、comment.char
、およびnrows
- を使用すると、パフォーマンスが大幅に向上します。これは、この情報をデータ自体から推測する必要があり、コストがかかる可能性があるためです。
2) data.frame、またはリスト内のベクトル、行列、配列、列の長さ (要素の総数) には特定の制限があります。これは、内部で使用される 32 ビット インデックスによるもので、32 ビットおよび 64 ビット R に当てはまります。数値は 2^31 - 1 です。これは、data.frame の行の最大数ですが、非常に大きいため、複数のベクトルの収集を開始する前に、1 つのベクトルでもメモリ不足になる可能性がはるかに高くなります。
詳細についてはhelp(Memory-limits)
、 とhelp(Memory)
を参照してください。
その長さの単一のベクトルは何ギガバイトものメモリを必要とするため (各ベクトルの型とストレージ モードに依存します - 数値の場合は 17.1)、実際に物事を推し進めていない限り、適切な制限になる可能性は低いです。利用可能なシステム メモリ (ここでは 64 ビットが必須) を超えて物事をプッシュする必要がある場合は、インポート/エクスポート マニュアルで説明されている標準的なデータベース手法、またはメモリ マップ ファイル オプション (ff
パッケージなど) を検討する価値があります。CRAN タスク ビュー ハイ パフォーマンス コンピューティングは、この目的のための優れたリソースです。
最後に、RAM のスタック (16Gb 以上) があり、64 ビットのインデックス作成が必要な場合は、R の将来のリリースで提供される可能性があります。http://www.mail-archive.com/r-help@r-project.org /msg92035.html
また、Ross Ihaka は、R に似た言語の歴史的な決定と将来の方向性について、次の論文や講演で議論しています:
http://www.stat.auckland.ac.nz/~ihaka/?Papers_and_Talks