問題タブ [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 投票する
1 に答える
152 参照

r - %>% を使用してその場で因子水準を指定する

%>% コマンドのシーケンス内で因子レベルを割り当てるための 1 行のオプションを見つけようとしています。

これを行うための私の戦略は、.興味のある順序付けられた因子レベルを生成する 関数のシーケンスを実行することでした"Error: 'match' requires vector arguments"。適切なレベルが得られます。

誰かがこれを行うためのより良い方法を考えたり、私のエラーに光を当てたりできますか?

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

r - 高カーディナリティの group-by で、dplyr パイプ (%>%) を使用すると、同等の非パイプ式よりも遅いのはなぜですか?

一般的に言えば、使用し%>%ても速度に目立った影響はないと思いました。ただし、この場合は 4 倍遅くなります。

パイプなし:

パイプ付き:

この状況でなぜ%>%そんなに遅いのですか?これを書く良い方法はありますか?

編集:

データ フレームを小さくし、Moody_Mudskipper の提案をベンチマークに組み込みました。

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

r - パイプ (%>%) ggplot2 のような ggvis

を使用してドキュメントに表と図を統合するとknitr、コードを追加することでより再現性が高く興味深いものになります。

多くの場合、 と を組み合わせるとdplyr、 (パイプ演算子ggvisを使用して) 比較的読みやすいコードを持つプロットを作成できます。magrittr%>

問題は、ggvis プロット:

ggvis

ggplot2 プロットほどきれいに見えません (私が知っている、因数分解cyl):

ここに画像の説明を入力

ただし、次のものggplot2が必要です。

私の問題は、これが配管のためにから%>%に切り替わることです。+これは非常に小さなかゆみであることはわかっていますが、次の方法を使用することをお勧めします。

これが機能するように の動作を変更する方法はありggplot2ますか?

ps。magrittr'sを使用するという考えは好きではありませんadd()。これもコードが読みにくくなるためです。

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

r - パイプと magrittr ドット (.) プレースホルダーの組み合わせ

私は R にかなり慣れていないので、%>%演算子と " ." (ドット) プレースホルダーの使用法を理解しようとしています。簡単な例として、次のコードが機能します

ただし、次のコードは失敗します

ここで、プレースホルダーを is.data.frame メソッドにパイプしています。

遅れているのはドットプレースホルダーの制限/解釈の私の理解であると推測していますが、誰でもこれを明確にすることができますか?

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

r - 最初の引数が LHS ではない Magritttr + lapply

を介してデータ フレームを lapply に渡したいのです%>%が、列の名前にアクセスできるようにする必要があるため、lapply 引数は次のようになります。

ただし、それを試してみると、次のエラーが表示されます。

私が知る限り、Rとlapplyは好きではありません1:length(.)。有効なオプションはチェーンを壊すことだと思いますが、それを適切に行う方法を学びたいです。

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

r - の使用!(または任意の論理演算子) %>% (magrittr) で予期しない出力が生成される

%>%と組み合わせると、非常に驚​​くべき出力が生成される状況に遭遇しました!。次のコードを検討してください。

わかりました、驚くべきことは何もありません。%>%しかし、奇妙なことを使用して短縮しようとすると、次のことが起こります。

TRUE?? 私が期待したものではありません-そうあるべきです20

を削除する!と、期待どおりに表示されます0

括弧を追加すると動作します:

関数として扱う!と次のようになります。

ではなく!is.na(x) %>% sum、なぜそれが返されるのですか?TRUE20

編集:他の論理演算子は同様の動作を生成します:

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

r - 引数がドットをパイプする関数にデータ フレームをパイプする

引数がドットをパイプする関数にデータフレームをパイプするにはどうすればよいですか?

rep(xi, length.out = nvar) のエラー: タイプ「クロージャ」のオブジェクトを複製しようとしています

もう一つの例:

次のコンポーネントによる機能シーケンス:

  1. アレンジ(., メーカー)

'functions' を使用して個々の関数を抽出します。