問題タブ [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.

0 投票する
5 に答える
248436 参照

r - dplyr で複数の列を要約しますか?

dplyr-syntax に少し苦労しています。さまざまな変数と 1 つのグループ化変数を持つデータ フレームがあります。ここで、R で dplyr を使用して、各グループ内の各列の平均を計算したいと思います。

これにより、「grp」で示される各グループの列「a」の平均が得られます。

私の質問は、各グループ内の各列の平均を一度に取得することは可能ですか? df %>% group_by(grp) %>% summarise(mean(a))または、列ごとに繰り返す必要がありますか?

私が持ちたいのは次のようなものです

0 投票する
5 に答える
100758 参照

r - group_by (複数の変数) を使用する場合の dplyr の問題

ddply の代わりに dplyr の使用を開始したいのですが、それがどのように機能するかを理解できません (ドキュメントを読みました)。

たとえば、何かを mutate() しようとすると、「group_by」関数が想定どおりに機能しないのはなぜですか?

mtcars を見る:

図書館(車)

「cyl」と「gear」でグループ化された mtcars の要約である data.frame を作成するとします。

次に、このデータフレームをさらに要約したいとします。ddply を使用すると簡単ですが、dplyr を使用しようとすると、実際には「グループ化」されません。

グループ化されていない出力が得られます。

構文に何か問題がありますか?


編集:

これを plyr と ddply で行う場合:

次に、2 番目の df を取得します。

しかし、summarise() 関数で sum(newvar) + 5 を使用した同じアプローチは、dplyr では機能しません...

0 投票する
2 に答える
1033 参照

r - Rで2つの要因で数値変数を要約する方法

3 つの変数と 1.425.558 の観測値を持つ data.frame があります。再生可能エネルギー発電所からの設置電力の記録です。各行は、設置された 1 つの発電所を表します。郵便番号エリアには同じタイプの発電所が複数存在する場合があります。

太陽光発電/バイオガス/風力発電がどれくらい設置されているかを郵便番号で合計したいと思います。

私はすでに試しました

しかし、私のRAMは十分ではありませんでした。

私のデータフレームは非常に大きいです。「2」で始まる郵便番号のデータのみが必要なので、かなり絞り込むことができました。

解決策を教えていただけますか?初心者を助けてくれてありがとう!

0 投票する
2 に答える
2095 参照

r - mutate は参照によって tbl を変更しますか?

私が本当に気に入ってdata.tableいるのは、:=コストのかかるコピーを必要とせずに、参照によってテーブルを変更するイディオムです。私が理解していることから、これはdata.table他の方法と比較して非常に高速になる側面の1つです。

dplyrさて、同じようにパフォーマンスが高いと思われるパッケージをいじり始めました。しかし、<-演算子を使用して結果を割り当てる必要があるため、このレベルではパフォーマンスが低下すると予想していました。ただし、ないようです。

例として:

ここに画像の説明を入力

どうすればこれが可能になるのだろうか?または、ベンチマークの方法に概念上の誤りがありますか? 私の理解は<-間違っていますか?

0 投票する
1 に答える
42693 参照

r - dplyr チェーンの NA を置き換えます

質問は元から編集されています。

この興味深い議論を読んだ後、たとえば、Lahman のバッティング データで dplyr を使用して列の NA を置き換える方法を考えていました。

以下は私が期待したように動作しませ

ソース: ローカル データ フレーム [20 x 3] グループ: yearID、teamID

実際、それはグループ平均ではなく、全体平均を帰属させました。dplyrチェーンでこれをどのように行いますか? transformベースRからの使用も、グループ平均ではなく全体平均を帰属させるため機能しません。また、このアプローチはデータを通常のデータに変換します。フレーム。これを行うより良い方法はありますか?

編集:に置き換えるtransformmutate、次のエラーが発生します

編集: as.integer を追加すると、エラーが解決れ、期待される結果が得られるようです。@eddiの回答も参照してください。

編集:@ Romainのコメントをフォローアップして、githubからdplyrをインストールしました:

そのため、エラーは発生しませんでしたが (良い)、(一見) 奇妙な結果が得られました。

0 投票する
1 に答える
782 参照

r - 順序を失うことなく dplyr を変更するにはどうすればよいですか?

I を使用data.tableすると、次のことができます。

ただし、同じ操作を試みるとdplyr、データは次のようにスクランブル/ソートされaます:

(余談ですが、上記は元の もソートしますが、その場で変更しないという の哲学をdt考えると、私にとってはやや混乱します-それは とのインターフェースdplyr方法のバグだと思います)dplyrdata.table

dplyr上記を達成する方法は何ですか?

0 投票する
1 に答える
2975 参照

r - 単一の dplyr ステートメントでグループ化変数を切り替えることはできますか?

この問題を説明する簡単な例を次に示します。

最初は永続的であり、グループ化は と の両方によるため、 Iで同じことをしようとするdplyrと失敗します:group_bybc

これはバグですか、それとも機能ですか? それが機能である場合data.table、単一のステートメントでソリューションをどのように複製しますか?

0 投票する
2 に答える
6769 参照

r - 長さが 1 に等しくない、またはグループの長さが dplyr に等しくないグループ化された演算

次のことを行うためにどの関数を使用すればよいかわかりません。

summariseとの両方mutateがこの長さに不満を持っています: