問題タブ [magrittr]

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 投票する
7 に答える
60623 参照

r - dplyr を使用して data.frame 内の完全なケースをフィルター処理します (ケースごとの削除)

dplyr を使用して完全なケースの data.frame をフィルタリングすることは可能ですか? complete.casesもちろん、すべての変数のリストで動作します。しかし、それは a) 変数が多い場合は冗長であり、b) 変数名が不明な場合 (たとえば、任意の data.frame を処理する関数内) は不可能です。

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

r - 関数引数を dplyr select に渡す

私ができるデータフレームからいくつかの列を選択するには

次のような関数を書きたい

しかし、実行f(df, col1, col2)するとエラーが発生します

編集- 少し些細な例:

やりたかったとします。

ただし、データセットと変数名が異なります。mtcarsコードを再利用して、、、cylおよびを置き換えることができhpます。しかし、私はむしろそれをすべて関数にラップしたいと思います

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

r - %.% (dplyr) と %>% (magrittr) の違い

このdplyrパッケージ%.%では、*NIX パイプと同様に、右側の関数の引数として左側を渡す演算子が導入されました。このmagrittrパッケージは、そのパイプのような演算子のみを定義するために存在する、はるかに軽量なパッケージです。

しかし、一方は使用%.%し、もう一方は%>%.

両者に違いはありますか?%>%コードでも使用できますかdplyr、それとも微妙なバグが発生しますか?

コードを調べると、早い段階で非常に異なるパスをたどるので、単純な目で比較すると、それらが異なることが示唆されます。Web を検索しても文書化されたものは何も見つかりませんでしたし、文書自体にも何も出くわしませんでした。

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

r - transform と %>% を使用して新しい変数を作成する

ベクターに基づいて、「パイプのような」演算子を使用して、データフレーム内の他の変数と同じ長さの新しい変数を作成しようとしていますLETTERSmagrittr何かがうまくいかず、問題を診断するには新人すぎます。

「伝統的な」ネストされた関数を試してみると、変数を正しく作成できます。

%>%それで、パイプのようなfrommagrittrとを試してみようと思いましたdplyr

[これは、次のエイリアスから抽出 () 関数を追加しても機能しませんmagrittr

debug_pipe無駄にパイプをデバッグしようとしました。どんなアイデアにもとても感謝しています!

0 投票する
4 に答える
23720 参照

r - %>% キーバインド / Rstudio のキーボードショートカット

私は、パッケージ%>%からますます人気が高まっているオペレーターをかなり試してきました。magrittr

入力を節約するためにキーボードショートカットを設定するのに十分使用しました。

shift+ command+ 、+ 、+ 、+ 、.の代わりに。spaceshift5shift.shift5space

スナップショット

これはSublimeTetxt2では優れていますが、 Rstudio プロジェクト内で作業している場合、 Rstudioはサービスを許可しません。

だから私の質問は:

Rstudio内でテキスト挿入キーバインディングまたはショートカットを定義できますか?

これは、カワウソにとって酸素である代入演算子のalt+バインディングとまったく同義です。-<-

誰かが github リポジトリでショートカットがコード化されている場所を教えてくれれば、自分のショートカットを「ハック」できるので、これは便利な出発点になると思います。

https://github.com/rstudio/rstudio

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

r - パイプ演算子がチェーンの最後 (または最初) であるかどうかをどのように判断できますか?

私は最近、 の素晴らしいpipe_with()機能を使用して、独自のパイプを作成して遊んでいmagittrます。現在のチェーン内のパイプの数を追跡しようとしています (したがって、パイプはチェーン内の位置に応じて異なる動作をする可能性があります)。magrittrgithubページのこの例で答えがあると思いました:

左側の数字はパイプ番号です。ただし、同じチェーンを再度実行すると、数値は 1 から再開されません。

これはおそらく、最初の の使用によって作成されたローカル環境が、チェーン%L>%の最後の実行時に破棄されないためです。%L>%そのため、(セッションの最初のパイプ以降だけでなく) 現在のチェーン内のパイプの位置を知るには、チェーンが終了したときにカウント変数を 0 に戻す (または変数をリセットする) 方法が必要です。ローカル環境)。

これを行う方法について誰かアイデアがありますか?

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

r - 配管チェーンのインプレイス修正

のパイピング チェーン内でいくつかのオブジェクトをオンザフライで変更しようとしていますmagrittr。初挑戦:

を使用した短いオプションl:

ラムダを定義しなくても同じことが可能かどうか知りたいです。それを行う最短の方法は何ですか?そのために代入演算子<-とプレースホルダーを使用できます.か? に似たもの(読みやすさに注意してください)

最後の結果が自然であることは理解しています (演算子は目に見えない値を返します)。どうすればそれを回避できますか?