問題タブ [filehash]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - Rのffとfilehashパッケージの違い
25 列と最大 1M 行で構成されたデータフレームがあり、12 個のファイルに分割されています。これらをインポートしてから、reshape
パッケージを使用してデータ管理を行う必要があります。各ファイルが大きすぎるため、インポートとデータ処理のために「非 RAM」ソリューションを探す必要があります。現在、回帰を行う必要はありません。データフレームのみに関する記述統計がいくつかあります。
少し検索したところ、2 つのパッケージが見つかりff
ました。最初にマニュアルfilehash
を読んだfilehash
ところ、データフレームをファイルにインポートするためのコードをいくつか追加しただけで、残りは通常の R 操作と似ているようです。
さまざまなクラスが付属しているため、まだ試していませんが、実際の作業を開始する前に、それ自体ff
を理解するために時間を費やす価値があるかどうか疑問に思っています. ff
しかし、filehash
パッケージはしばらくの間静的であるように思われ、このパッケージについての議論はほとんどありませんfilehash
。
使用するパッケージを選択するのを手伝ってくれる人はいますか? または、それらの違い/長所と短所は何ですか? ありがとう。
更新 01
私は現在filehash
データフレームのインポートに使用していますが、インポートしたデータフレームfilehash
は読み取り専用と見なす必要があることに気付きました。そのデータフレームのそれ以上の変更はすべて、再度保存しない限りファイルに保存されないため、あまり便利ではありません私の見解では、節約をすることを思い出す必要があるからです。これについて何かコメントはありますか?
r - 大量のメモリを使用するリストオブジェクトをインタラクティブに操作する
私は最近、パッケージの素晴らしさを発見し、bigmemory
非常に大きな行列を処理ff
します。filehash
非常に大きな(300MB ++)リストを処理するにはどうすればよいですか?私の仕事では、これらのリストを毎日毎日使用しています。私はどこでもsave()
&ハックでバンドエイドソリューションを行うことができますが、私は同様のソリューションを好みます。aのようなものが理想的です。ここでは、RAMで660バイトのようなものを使用することを除いて、基本的に同じように操作します。load()
bigmemory
bigmemory
bigmatrix
matrix
これらのリストは、ほとんどがオブジェクト(または同様の回帰オブジェクト)>1000
の長さのリストです。lm()
例えば、
私のプロジェクトでは、インタラクティブに操作する必要のあるA,B,C,D,E,F
タイプリスト(およびこれ以上)を用意します。
これらが巨大なマトリックスである場合、1トンのサポートがあります。list
大きなオブジェクトのパッケージに同様のサポートがあるかどうか疑問に思いました。
r - 操作すると RAM に対して大きくなりすぎる大きなリストの操作
より多くの RAM を搭載したマシンで作業する以外に、 で大きなリストを操作するにはどうすればよいR
ですか。
私が使用しているタイプのリストを生成するためのコードを次に示します
私の実際の使用例では、ここでの簡単な例とは異なり、リスト内の各データ フレームは一意です。n=4000、i=100,000を目指しています
これは、このデータフレームのリストでやりたいことの一例です。
私の実際の使用例では、これは数時間実行され、RAM とほとんどのスワップがいっぱいになり、その後 RStudio がフリーズして爆弾を含むメッセージが表示されます (R セッションでエラーが発生したため、RStudio は強制的に終了されました)。
これはbigmemory
行列に限定されており、ff
リストを処理していないようです。他のオプションは何ですか?sqldf
ここで、または関連するメモリ不足の方法が可能な場合、どうすれば始められますか? ドキュメントから十分な情報を得ることができず、進歩を遂げることができず、ポインタがあれば感謝しています。「RAM を追加購入する」という指示は無視されることに注意してください。これは、平均的なデスクトップ コンピューター (学部生のコンピューター ラボ) に適していると期待しているパッケージ用です。
更新SimonO101 と Ari からの有益なコメントをフォローアップして、dataframe と data.tables、loops と lapply、gc の有無を比較したベンチマークをいくつか示します。
そして、これが結果です。明示的なガベージ コレクションを使用しない場合、data.table はループよりもはるかに高速で、lapply はわずかに高速です。明示的なガベージ コレクションを使用すると (SimonO101 が示唆していると思われるように)、それらはすべてほぼ同じ速度であり、はるかに遅くなります! usinggc
は少し議論の余地があり、この場合はおそらく役に立たないことはわかっていますが、実際のユースケースで試してみて、違いがあるかどうかを確認します. もちろん、これらの関数のメモリ使用に関するデータはありません。これが私の主な関心事です。タイミング機能に相当するメモリベンチマーク用の機能がないようです(とにかくWindows用)。
r - Rでmodel.matrixを構築するとメモリに収まりません(すべてのメモリマッピングパッケージを試しました)
lm()
大規模な販売データセットに対する R の適合性を見積もろうとしています。データ自体は、R が処理できないほど大きくはありません。メモリは約250MB。問題はlm()
、すべての変数と交差項を含めるために が呼び出されると、 の構築でmodel.matrix()
、マシンのメモリが不足し、サイズのベクトル (この場合は約 47GB) を割り当てることができないというエラーがスローされることです。当然のことながら、私はそれほど多くの RAM を持っていません。問題は、ff
、bigmemory
、およびfilehash
パッケージを試してみたことです。これらはすべて、既存のファイルを使用してメモリ外で作業する場合に問題なく動作します (特に のデータベース機能が気に入っていますfilehash
)。しかし、私は私の人生のために、得ることはできませんmodel.matrix
まったく作成されません。問題は、出力ファイルを私が作成したデータベースにマッピングしたにもかかわらず、R がとにかくそれを RAM に設定しようとして、できないことだと思います。これらのパッケージを使用してこれを回避する方法はありますか、それとも何か間違っていますか? [また、biglm
および他の関数を使用してチャンク単位で処理しても、一度に 1 つずつチャンクすることさえできません。model.matrix
繰り返しますが、R はチャンクする前に最初に全体を作成しようとしているようです]
どんな助けでも大歓迎です!
hash - CKAN リソース レコードによって返されるハッシュの種類を確認するにはどうすればよいですか?
記録例:
APIドキュメントには次のように書かれています:
例 SHA1あまり理解 できません。計算に使用されたアルゴリズムがわからない場合、ハッシュをチェックできません。
ソースを見ても、私は啓発されません。フリーテキストフィールドのようですので、アップローダーが好きなように設定できると思いますが、おそらく誰かが消費するように設計されているので、それは伝えられているに違いありません.
空の文字列の例を次に示します。s