問題タブ [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 に答える
3684 参照

r - Rで1つのベクトルに値を累積的に追加する方法

私はこのようなデータセットを持っています

ここで、はその年にjob2人であったかどうかを示すダミー変数ですManager。このデータ セットに対して 2 つのことを行います。1 つ目は、その人物がBoss初めてになったときの行のみを保持することです。Manager第二に、ある人が として働いた累積年数を確認し、この情報を変数 に保存したいと考えていますcumu_job2。したがって、私は持っていたい:

例を変更し、Worker の位置を含めました。これは、元のデータ セットでやりたいことをより反映しているためです。このスレッドの回答は、データ セットにマネージャーとボスしかいない場合にのみ機能します。そのため、これを機能させるための提案は素晴らしいものです。これからもよろしくお願いします!!

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

r - プログラミングに dplyr を使用する方法

データ操作は好きdplyrですが、プログラミングでの使い方がわかりません。たとえば、いくつかの変数を再スケーリングするには、次のようにします。

とてもかっこいい。mutateしかし、ここで、データ フレーム内のすべての変数をスケーリングするために使用する関数を書きたいとします。...引数を作成するにはどうすればよいですか? 私が思いつくことができる最高のものは次のようなものです:

または、よりプログラミングしやすい代替インターフェイスはありますか?

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

r - dplyrを使用した高速頻度とパーセンテージテーブル

tab私はしばらくの間、ベクトルの頻度、パーセント、および累積パーセントを示す小さな関数を使用してきました。出力は次のようになります

優れたdplyrパッケージは、機能を更新する動機になりました。今、どうすれば更新版をさらに速くできるのだろうと思っています。ここに古い関数があります

と新しいに基づくdplyr

最後に、いくつかのパフォーマンス ベンチマークを示します。

tab2非常に短いベクトルを除いて高速です。パフォーマンスの向上は、より大きなベクトルで明らかになります ( x4with 51002 obs を参照)。tableまた、関数がはるかに多くのことを行っていると思っていたよりも高速です。

私の質問に移りましょう: どうすればパフォーマンスをさらに向上させることができますか? 度数とパーセントを使用してテーブルを作成することは、かなり標準的なアプリケーションであり、大規模なデータセットを扱う場合、高速な実装は非常に優れています。

編集:これは2e6ベクトルを使用した追加のテストケースです(data.table以下で提案されたソリューションを含む)

0 投票する
7 に答える
157321 参照

r - dplyr の「rename」の置き換え

plyr のリネーム機能が気に入っていますrename。私は最近 dplyr を使い始めましたが、dplyr の関数を使用して変数の名前を変更する簡単な方法があるかどうか疑問に思っていました。それは plyr と同じくらい使いやすいrenameですか?

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

r - R での実行統計

以下は、私が持っているサンプルデータフレームです。

実行中の統計を計算しようとしています - たとえば、YoY の成長です。これは、Revenue[2002] - Revenue[2001] になります。

forループを使用してこれを行うことができます。しかし、これをよりエレガントに達成するために、plyrに基本機能や何かがありますか?

0 投票する
7 に答える
117388 参照

r - dplyr tbl 列をベクトルとして抽出します

データベース バックエンドを持つ tbl から、dplyr tbl の 1 つの列をベクトルとして取得するより簡潔な方法はありますか (つまり、データ フレーム/テーブルを直接サブセット化することはできません)。

それはあまりにも簡単だったので、

しかし、それは少し不器用なようです。

0 投票する
3 に答える
7072 参照

r - dplyr mutate() でリストを返す

リストを返す実際の問題に関数があります。これを dplyr mutate() で使用する方法はありますか? このおもちゃの例は機能しません -:

新しい変数の最初の「列」で関数の出力を循環していることがわかりますが、その理由はわかりません。

ありがとう!

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

r - ORを使用してdplyrでデータフレームをフィルタリングするより良い方法は?

Rに列subject1subject2(米国議会図書館の件名見出しを含む)を持つデータ フレームがあります。サブジェクトが承認済みリストに一致するかどうかをテストして、データ フレームをフィルタリングしたいと思います。たとえば、このデータ フレームがあるとします。

そして、これが承認されたサブジェクトのリストであるとします。

私がやりたいことは、subject1 または subject2 のいずれかでフィルタリングすることです。

これにより、必要に応じて、元のデータ フレームから項目 1、2、および 4 が返されます。

andロジックではなくorを使用して複数のフィールドでフィルター処理する最良の方法はありますか? より良い、より慣用的な方法があるに違いないように思えますが、それが何であるかはわかりません。

おそらく、質問をするより一般的な方法は、subject1 と subject2 を組み合わせた場合、あるベクトルの値が別のベクトルの値と一致するかどうかをテストする方法があるかということです。私は次のようなものを書きたいと思います: