問題タブ [ff]
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 - ff パッケージの ffsave は大きなファイル「clone.ff」を作成します
ffsave (ff パッケージから) について質問があります。
次のように保存する大きなマトリックスがあります。
私のフォルダー (results_wd) には、「Mat.ffData」、「Mat.RData」、および「clone28b4d345101.ff」があります。
そして、マトリックスをロードすると:
したがって、 clone28b4d345101.ff からデータをロードします
問題は、clone28b4d345101.ff のサイズが 10Mo で、このような 608*5 のファイルがあるため、ff を使用しても無駄です... R を閉じても、ファイルはまだここにあります (ワークスペースに何かロードされていると思いました)。これらのファイルを削除すると、ffload を使用すると元に戻ります。
clone(numbers).ff という名前のファイル (name.ffData と name.RData のみ) がないと ffsave を使用できませんか?
r - read.table.ffdfを使用して非常に大きなcsvファイルをRに読み込むときにcolClassesを指定する方法は?
「ff」パッケージの関数 read.table.ffdf() を使用して、サイズが約 20G の非常に大きな .csv ファイルを読み込もうとしていますが、read.csv() で colClasses オプションを指定する際に問題がありました。
ファイル内の一部の列は非常に長い整数 (11 桁など) のラベルであるため、colClasses オプションを指定する必要があります。たとえば、ファイル内の 2 つの行は
整数 10800749282 は「整数」型には大きすぎるため、「数値」または「文字」としてしか扱えません。しかし、上記の行の値 104116343 は十分に大きくないため、R はデフォルトでこの列を「整数」として扱います。
以下を試しましたが、エラーが発生しました。この問題を解決する方法を知っている人はいますか?高く評価!
ff のエラー (initdata = initdata、長さ = 長さ、レベル = レベル、順序付け = 順序付け、: vmode 'character' が実装されていません
r - 関数 "[<-.ffdf" および "[.ffdf" をパッケージ ff (R) からオーバーロードする方法は?
ff パッケージから書き込みエラーが発生しました。この回答は、解決策が関数「[<-.ffdf」および「[.ffdf」をオーバーロードすることである可能性があることを示唆しています。誰かがこれをさらに詳しく説明するか、少なくともこれを達成するために何が必要かを理解するために何を理解する必要があるかを提案できますか. この質問は初心者からのものであることを覚えておいてください。
r - FF オブジェクトにダミー変数を作成する
ダミー変数を作成したい FFDF オブジェクトがあります。具体的には、名前の別のベクトルがあり、そのベクトルの名前が FFDF の列ベクトルにある名前と一致する場合にダミー変数を作成したいと考えています。 .
例として、このベクトルとこの FFDF オブジェクトがあるとします。
私がやりたいのは、FFDF ファイルに別の列を作成し、"Name" の名前が "DonorName" の名前と一致する場合に 1 にすることです。通常、ifelse() コマンドを使用できますが、ff バージョン (ffifelse) では、「テストは論理/ブール ff ベクトルである必要があります」というエラーが表示されます。as.ffdf() コマンドを使用して、最初のベクトルを ffdf オブジェクトに強制したことも付け加えておく必要があります。
編集:
私は最終的にそれを機能させることができると思います。このコード行はうまくいったようです。
r - ff パッケージ R の ffwhich 関数を使用してループを作成する
「Scenarios」という名前の非常に大きな ffdf があり、「Eventfreq」という名前の列の 1 つを 2 つの変数に基づいてビンに並べ替え、各 BIN 内の値の合計を取得したいと考えています。
以下の関数は、基本的に 1 つの変数セットに対してこれを行います。
上記の関数を適用したいのですが、3 つの入力変数 (M、R1、R2) を変更したいので、次のようにループを試みました。
しかし、次のようなエラーメッセージが表示されます。
変数M、R1、R2を手動で入力すると関数は正常に機能するため、問題はループの動作方法にあるはずです。提案をいただければ幸いです。ありがとう
r - ffdf mapply 関数による R Foreach 並列処理
NGA パッケージから関数を適用する「シナリオ」という名前の大きな ffdf があります。私はすでに mychunks を使用して高速化を試みていますが、まだ遅いです。Foreach パッケージなどを使用して並列処理で実行できますか? 現在の私のコードを以下に示します。
私は Foreach であまり成功していません。速度を上げる必要があります。どんな助けも大歓迎です。ありがとう
r - ff ベクトルを法線ベクトル R に変更する方法
ベクトルを入力として受け入れる関数があります。
ffdf
名前付きがX
あり、データの列を関数入力のベクトルとして使用したいと考えています。
「Mag」という名前のデータの列をベクトルとして取得するには、次を使用します。
ただし、これはff
私が信じているベクトルであり、関数は法線ベクトルのみを受け入れます。これを法線ベクトルに戻すにはどうすればよいですか?
物理コンポーネントだけを使用する必要があると思いますが、これをコーディングする方法がわかりません。
前もって感謝します。
r - ff 行列のメモリ割り当てが十分でない場合に、R で大きなデータセットを使用する相関行列
簡単な分析を行う必要があります。列(または転置されている場合は行)の相関を計算するだけです。簡単ですか?私は一週間の結果を得ることができず、ここでほとんどの解決策を見てきました.
私のラップトップには4GBのRAMがあります。32 ノードのサーバーにアクセスできます。私のデータは巨大なのでここにロードできません (411k 列と 100 行)。他の情報やデータの一部が必要な場合は、ここに掲載してみますが、問題は実際にデータを見なくても簡単に説明できます。サイズ 411k X 411k の相関行列を取得する必要があるだけです。つまり、データの行間の相関を計算する必要があります。
私がコーディングしようとした概念: (それらはすべて何らかの形でメモリの問題を引き起こしたり、永遠に実行されたりします)
- 最も単純な方法は、すべてに対して 1 つの行で、append.T を使用して結果を書き出すことです。(永久に実行されます)
- bobthecat による biCorPar.r ( https://gist.github.com/bobthecat/5024079 )、データをブロックに分割し、ff 行列を使用します。(サーバーで ff() を使用して corMAT 行列を割り当てるためのメモリを割り当てることができません)
- データをセットに分割し (連続する 10000 行ごとにセットになります)、各セットを相互に関連付けます (bigcorPar と同じロジック)。 .
- 私は今これを試みています.411kに対して10000行のbigcorPar.r(したがって、10000はブロックに分割されます)で、結果を個別のcsvファイルに保存します。
- また、サーバーの 1 つのノードで 1000 対 411k ごとに実行しようとしていますが、今日は 3 日目で、まだ 71 行目です。
私は R のプロではないので、これだけしか試すことができませんでした。コードが永久に実行されるか、結果を保存するのに十分なメモリがありません。この問題に取り組むためのより効率的な方法はありますか?
すべてのコメントとヘルプに感謝します。
r - パッケージ ff の ffsave と ffload の使用
Rでffloadを使用してffsaveすると、* .ffファイルに問題があります。
使用するffsave(fileName)
と、fileName.ffData
とが表示されfileName.RData
ます。
私の質問は次のとおりです。
- 使用時または使用後に
*.ff
どこかに作成されますか?ffsave
ffload(fileName)
*.ff
一度見たファイルは削除できますか?- ファイルの保存場所を制御でき
*.ff
ますか?
大きなファイルなので、適切な使用方法ffsave
とffload
削除方法を教えてもらえますか? *.ff
ありがとう。
r - ff POSIXct ベクトルを ff 数値ベクトルに変換します
POSIXctエントリを持つffベクトルを、原点 01-01-1970 からのそれぞれの秒数を含むff数値ベクトルに変換しようとしています。
x = as.ff(as.POSIXct(c("2014-06-30 00:01:27 BST", "2014-06-30 00:02:17 BST")))
「自然」as.numeric(x)
は機能せず、次のようになりnumeric(0)
ます。
as.ff(as.numeric(x[]))
働く、降伏する
ff (open) double length=2 (2)
[1] [2]
1398898887 1398898937
これは望ましい結果です。とはいえ、これには ram オブジェクトが含まれますx[]
。ff オブジェクトのみを使用して上記の結果を達成する方法はありますか (つまり、ff ベクトルに相当する ram を仲介しません)?