問題タブ [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 - Rで1つのベクトルに値を累積的に追加する方法
私はこのようなデータセットを持っています
ここで、はその年にjob2
人であったかどうかを示すダミー変数ですManager
。このデータ セットに対して 2 つのことを行います。1 つ目は、その人物がBoss
初めてになったときの行のみを保持することです。Manager
第二に、ある人が として働いた累積年数を確認し、この情報を変数 に保存したいと考えていますcumu_job2
。したがって、私は持っていたい:
例を変更し、Worker の位置を含めました。これは、元のデータ セットでやりたいことをより反映しているためです。このスレッドの回答は、データ セットにマネージャーとボスしかいない場合にのみ機能します。そのため、これを機能させるための提案は素晴らしいものです。これからもよろしくお願いします!!
r - プログラミングに dplyr を使用する方法
データ操作は好きdplyr
ですが、プログラミングでの使い方がわかりません。たとえば、いくつかの変数を再スケーリングするには、次のようにします。
とてもかっこいい。mutate
しかし、ここで、データ フレーム内のすべての変数をスケーリングするために使用する関数を書きたいとします。...
引数を作成するにはどうすればよいですか? 私が思いつくことができる最高のものは次のようなものです:
または、よりプログラミングしやすい代替インターフェイスはありますか?
r - dplyrを使用した高速頻度とパーセンテージテーブル
tab
私はしばらくの間、ベクトルの頻度、パーセント、および累積パーセントを示す小さな関数を使用してきました。出力は次のようになります
優れたdplyr
パッケージは、機能を更新する動機になりました。今、どうすれば更新版をさらに速くできるのだろうと思っています。ここに古い関数があります
と新しいに基づくdplyr
最後に、いくつかのパフォーマンス ベンチマークを示します。
tab2
非常に短いベクトルを除いて高速です。パフォーマンスの向上は、より大きなベクトルで明らかになります ( x4
with 51002 obs を参照)。table
また、関数がはるかに多くのことを行っていると思っていたよりも高速です。
私の質問に移りましょう: どうすればパフォーマンスをさらに向上させることができますか? 度数とパーセントを使用してテーブルを作成することは、かなり標準的なアプリケーションであり、大規模なデータセットを扱う場合、高速な実装は非常に優れています。
編集:これは2e6ベクトルを使用した追加のテストケースです(data.table
以下で提案されたソリューションを含む)
r - dplyr の「rename」の置き換え
plyr のリネーム機能が気に入っていますrename
。私は最近 dplyr を使い始めましたが、dplyr の関数を使用して変数の名前を変更する簡単な方法があるかどうか疑問に思っていました。それは plyr と同じくらい使いやすいrename
ですか?
r - R での実行統計
以下は、私が持っているサンプルデータフレームです。
実行中の統計を計算しようとしています - たとえば、YoY の成長です。これは、Revenue[2002] - Revenue[2001] になります。
forループを使用してこれを行うことができます。しかし、これをよりエレガントに達成するために、plyrに基本機能や何かがありますか?
r - dplyr tbl 列をベクトルとして抽出します
データベース バックエンドを持つ tbl から、dplyr tbl の 1 つの列をベクトルとして取得するより簡潔な方法はありますか (つまり、データ フレーム/テーブルを直接サブセット化することはできません)。
それはあまりにも簡単だったので、
しかし、それは少し不器用なようです。
r - dplyr mutate() でリストを返す
リストを返す実際の問題に関数があります。これを dplyr mutate() で使用する方法はありますか? このおもちゃの例は機能しません -:
新しい変数の最初の「列」で関数の出力を循環していることがわかりますが、その理由はわかりません。
ありがとう!
r - ORを使用してdplyrでデータフレームをフィルタリングするより良い方法は?
Rに列subject1
とsubject2
(米国議会図書館の件名見出しを含む)を持つデータ フレームがあります。サブジェクトが承認済みリストに一致するかどうかをテストして、データ フレームをフィルタリングしたいと思います。たとえば、このデータ フレームがあるとします。
そして、これが承認されたサブジェクトのリストであるとします。
私がやりたいことは、subject1 または subject2 のいずれかでフィルタリングすることです。
これにより、必要に応じて、元のデータ フレームから項目 1、2、および 4 が返されます。
andロジックではなくorを使用して複数のフィールドでフィルター処理する最良の方法はありますか? より良い、より慣用的な方法があるに違いないように思えますが、それが何であるかはわかりません。
おそらく、質問をするより一般的な方法は、subject1 と subject2 を組み合わせた場合、あるベクトルの値が別のベクトルの値と一致するかどうかをテストする方法があるかということです。私は次のようなものを書きたいと思います: