bigmemoryパッケージのscan()とread.big.matrix()を組み合わせて200 MBの.csvファイルを読み込む方法はありますか混合型の列を持つファイルで、整数、文字、数値の列を持つデータフレームが得られるでしょうか?bigmemoryパッケージを使用して混合型カラムを使用して大きなcsvファイルをロードする方法
答えて
ヘルプファイルによると、
ファイルには、1つのアトミックタイプ(すべての整数など)が含まれている必要があります。 ユーザーは、ファイルに行および/または列の名前があるかどうかを知る必要があります。 で目的の動作を取得するには、さまざまなオプションの組み合わせが役立ちます。
私はこのパッケージ/関数に慣れていませんが、Rでは、行列は原子タイプを1つしか持てません(data.framesとは異なります)。
あなたの2セントをありがとう。このブログでは、http://joshpaulson.wordpress.com/2010/12/20/michael-kane-on-bigmemory/誰かが、1つのアトミックタイプしか持たないマトリックスの制限についての回避策を提案しました。行列)は、scan()を使用することです。私は、誰かがbigmemoryパッケージからread.big.matrixを使って自分の経験を共有できることを望んでいました。特に、混合型の列の読み込みやscan()の使用の有無に関することでした。 – Lourdes
おそらく処理段階でそれを行うことができますが、間違っていることを証明したいと思います(sensu @Iterator)。 –
このためにffパッケージをお試しください。
library(ff)
help(read.table.ffdf)
関数「read.table.ffdf」「read.tableを」「FFDF」 非常に多くのようなオブジェクト(および使用)に分かれフラットファイルを読み取ります。また、 は 'read.csv'のような便利なラッパーで動作し、Rの通常の ラッパーのための 独自の便利ラッパー(例: 'read.csv.ffdf')を提供します。
これは、このような単純な作業でなければなりません。
x <- read.csv.ffdf(file=csvfile)
(はるかに大きいファイルの場合、それはおそらくあなたがあなたのマシンやOSに応じて、設定オプションのいくつかを調査することが必要になります)。
ああ、この人生では不可能なことがいくつかあります。誤解されて不快な状況につながるものがあります。 @Romanは正しい:マトリックスは1つの原子タイプでなければならない。それはデータフレームではありません。
マトリックスは1つのタイプでなければならないので、bigmemory
をスヌーカーで試してみると、複数のタイプを処理すること自体が悪いことです。それはできますか?私はそこに行くつもりはない。どうして?それ以外のものは、データフレームではなく行列を取得しているとみなされるからです。それはより多くの疑問と悲しみにつながります。
ここで、各列の種類を識別し、それぞれが特定の種類の項目を含む異なるビッグメモリファイルのセットを生成することができます。例えば。 charBM =文字ビッグ行列、intBM =整数ビッグ行列など。そして、この中からデータフレームを生成するラッパーを開発することができます。それでも、私はそれを推奨しません:あなたができるならば、大きなデータフレームグリフィンを作り出そうとするよりも、異なるアイテムをそのまま扱うか、同質性を強要してください。
@mdsumnerは、ff
を示唆しています。もう1つのストレージオプションはHDF5で、Rのncdf4
からアクセスできます。残念ながら、他のパッケージはbigmemory
ほど快適ではありません。
Thanks Iterator。あなたは正しい、他のパッケージはbigmemoryほど楽しいものではない。 – Lourdes
最適な解決策は、ファイルを1行ずつ読み込んで解析することです。このようにして、読み取りプロセスはほぼ直線的な量のメモリを占有します。
ようこそStackOverflow!しかし、これは質問に答えるものではありません。これは具体的にはビッグメモリパッケージ –
- 1. PHPを使用してテーブルmysqlに大きな.csvをロードする方法
- 2. phpMyAdminを使用して大きなcsvファイルをインポートします。
- 3. phpexcelリーダーを使用して非常に大きなcsvファイルを読む方法
- 4. pandasを使用してPythonで大きなCSVファイルを読む
- 5. Javaを使用してランダムデータを使用して大きなcsvを生成する方法
- 6. jqueryを使用してCSVファイルをロードできません
- 7. R bigmemoryは大きなCSVファイルを読み取らない
- 8. スクリプトを使用して.csvファイルをMySQLデータベースにロードする
- 9. mysqlロードデータinfileを使用して大きなcsvファイルを処理する
- 10. 使用可能な変数としてPHPを使用してmysqlカラムの合計を取得する方法
- 11. Pythonを使用してこのCSVファイルをソートする方法(
- 12. CSVをJavaを使用してファイルにダウンロードする方法
- 13. FolderPickerを使用してCSVファイルを保存する方法
- 14. tclを使用してcsvファイルを作成する方法
- 15. パンダを使用してcsvファイルで同じ番号を合計する方法
- 16. 大きな圧縮CSVをS3に使用してDaskで使用する方法
- 17. 大きなファイルをazureにtypescriptを使用してアップロードする方法
- 18. WCFを使用して大きなファイルを転送する方法
- 19. DeflaterOutputStreamを使用して大きなファイルを圧縮する方法は?
- 20. ksop2を使用して大きなファイルをWebサービスに送信する方法
- 21. Xcode 4を使用して大きなxibファイルをリファクタリングする方法は?
- 22. ラクダを使用してActiveMQに大きなファイルを送信する方法
- 23. JAXB Marshallerを使用して大きなファイルをストリーミングする方法は?
- 24. .CSVファイルでawkコマンドを使用して検索する方法
- 25. CSVファイルに対してSQLを使用する方法
- 26. .INF設定ファイルを使用してOCXをロードする方法
- 27. NativeScriptプラグインを使用して.frameworkファイルをロードする方法
- 28. jqueryを使用してタブコンテンツにhtmlファイルをロードする方法
- 29. LabVIEWを使用してCSVファイルを読み取る方法は?
- 30. Pythonフラスコを使用して大きなcsvファイルをアップロードする最も良い方法
bigememoryパッケージである必要がありますか?私はffがこの種のものにはるかに役立つことを発見しました – mdsumner
@mdsumnerは正しい軌道にあります。ファイルをバックアップする必要がありますか? 200MBの場合は、読み込んで作業してから、1つ以上のBMファイルとして保存してください(または望むなら 'ff')。 – Iterator