問題タブ [dplyr]
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 - グループ平均、合計、またはその他の要約統計を計算します。列を元のデータに割り当てます
グループ化変数 (「グループ」) の各レベル内の数値変数 (「値」) の計算(または、長さ 1のmean
その他の要約統計量)を計算したいと考えています。min
max
length
sum
要約統計量は、元のデータと同じ長さの新しい変数に割り当てる必要があります。つまり、元のデータの各行には、現在のグループ値に対応する値が含まれている必要があります。データ セットは、グループごとに 1 行に折りたたまれてはなりません。たとえば、 group を考えてみましょう:mean
前
後
r - グループごとの要約統計量を取得する方法
R / S-PLUSで、カテゴリ列ごとにグループ化された複数の要約統計量を1回のショットで取得しようとしています。いくつかの関数を見つけましたが、それらはすべて、のように、呼び出しごとに1つの統計を実行しますaggregate()
。
私が探しているのは、平均、最小、最大、標準など、同じグループの複数の統計を1回の呼び出しで取得することですが、それは実行可能ですか?
r - 値がゼロの行を削除する方法
Rでゼロ値を持つ行を削除する方法を解決する問題があります。一方で、na.omit()
すべての NA 値を削除するか、 NA 値complete.cases()
を含む行を削除するために使用できます。
Rで値がゼロの行を削除する方法を知っている人はいますか?
例えば :
前
後
sql - RでSQLランク関数をエミュレートする方法は?
ROW_NUMBER()
Oracle 、RANK()
、またはDENSE_RANK()
(「順序に応じて行に整数値を割り当てる」; http://www.orafaq.com/node/55を参照)のようなランク関数に相当する R は何ですか?
各機能の機能は、アドホックな方法で実現できる可能性があることに同意します。しかし、私の主な関心事はパフォーマンスです。メモリと速度のために、結合またはインデックス アクセスを使用しないことをお勧めします。
r - R にオブジェクト リレーショナル マッピングのパッケージはありますか?
(オブジェクト リレーショナル マッピングとは、ウィキペディア: オブジェクト リレーショナル マッピングで説明されている内容を意味します。)
R でこの作業をどのように想像できるかを次に示します。一種の「仮想データ フレーム」がデータベースにリンクされ、アクセスすると SQL クエリの結果が返されます。たとえば、マップされたデータベースhead(virtual_list)
の結果を実際に返します。(select * from mapped_table limit 5)
John Myles White によるこの投稿を見つけましたが、この 3 年間は進展がないようです。
これを実装する作業パッケージはありますか?
そうでない場合は、
- 役に立ちますか?
- それを実装する最良の方法は何ですか(S4?)?
r - その後の観測(国年)間の値の差を取得するにはどうすればよいですか?
たとえば、10年間で5か国のスコアが次のようになっているとします。
ここで、次の年のスコアが前年のスコアと+/- 0.5異なる場合は1であり、これが当てはまらない場合は0である新しい変数「期間」を作成したいと思います。5カ国すべてでそうしたいと思います。そして、期間= 1の国年を特定し、この情報を表に表示できれば素晴らしいと思います。
これが多すぎないことを願っています。で試してみdist
ましたlibrary(proxy)
が、関数を行全体ではなく観測のペアに制限する方法がわかりません。どうもありがとう!!
r - 行がばらばらで NA を含むデータフレームの行をマージする
2 つの行を持つデータフレームがあります。
これら 2 つの行をマージする簡単な方法はありますか? 「345」を「346」に改名すると、作業が簡単になりますか?
r - この dplyr + data.table タスクを高速化できますか?
dplyr
これは質問以上のものだと思いplyr
ます。速度のために、data.table
私が書いたいくつかのコードで使用しています。中間ステップでは、〜 32,000 行のゲノミクス データを含むテーブルがあります。
編集
または、そのような最初の100行のデータ(指示についてはRicardo Saportaへのthx)
編集終了
次に、各行と他のすべての行 (chr でグループ化) のすべての可能な組み合わせを作成したいと考えています。これは他のデータへのクエリ(結合)を形成するので、事前計算するのが最善(そして最も簡単)だと思います:
私の考えでは、これは sloooowwww です...ただし、 、またはordata.frame
のような基本関数を使用する場合と比較すると、かなり高速です。ただし、これは実際には私がテストしている小さめのデータセットです。by()
lapply()
だから... 誰かがouterFunのより高速なバージョンについてアイデアを持っているかどうか疑問に思っていますか??? またはより速い方法はありますrep()
かrep.int()
?
r - data.tableまたはdplyrの列間で計算しますか?
data.table
大規模なデータセットに対して非常に単純なタスクを達成するために使用したいと考えています。
各 ID の val1 と val2 の平均を計算します。
詳しくは添付のフェイクデータをご確認ください。
ここでは、ID ごとに val1 と val2 の平均を計算します。
また、各 ID にはさまざまなレベルがあることに注意してください。しかし、一意の ID ごとに、異なるレベル val1 と val2 を組み込んだ 1 つの平均が必要です。
--- ID | 平均 - -
-- ID1 | ...
-- ID2 | ...
-- ID3 | ...
次のコードを試しましたが、うまくいきません。
しかし、うまくいきません。reshape2
最初melt
に でそれを行う方法を知っていますdcast
。
しかし、元のデータセットは 2,000 万行と 12 フィールドと比較的大きく、計算にかなりの時間がかかります。
したがって、data.table
またはを使用することを好みますdplyr
。
r - 文字列ベクトル入力を使用して、dplyr の複数の列でグループ化する
plyr の理解を dplyr に移そうとしていますが、複数の列でグループ化する方法がわかりません。
plyr の例を dplyr 風の構文に変換するには何が欠けていますか?
編集 2017 : Dplyr が更新されたため、より簡単なソリューションが利用可能になりました。現在選択されている回答を参照してください。