web-dev-qa-db-ja.com

%。%(dplyr)と%>%(magrittr)の違い

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

しかし、1つは%.%を使用し、もう1つは%>%を使用します。

2つの間に違いはありますか?dplyrコードでも%>%を使用できますか、それとも微妙なバグを引き起こしますか?

コードの検査では、それらは早い段階で非常に異なるパスをとるので、単純な眼球比較はそれらが異なることを示唆します。それらをウェブで検索したときに文書化されたものを見つけることができなかったし、文書自体で何も見つけたことがない。

15
Ari B. Friedman

違いは次のとおりです

  • .左側のプレースホルダーとして。

    iris %>% plot(Sepal.Length ~ Sepal.Width, data = .)
    
  • %>%敬意(rhs)、例:.

    1:10 %>% (call("sum"))
    1:10 %>% (function(x) x^2 + 2*x) 
    

    このより有用な例については、
    https://Gist.github.com/anonymous/0c69b019d0b4f6ae505

  • 単一引数の関数呼び出しでは、括弧を省略できます。

    "2014-05-18" %>% as.Date
    
12
Stefan

現在の [〜#〜] news [〜#〜] ファイルの最初のアイテムを参照してください:

dplyrはmagrittrから%>%をインポートするようになりました(#330)。これは%.%の代わりに使用することをお勧めします。シフトキーを押し続けることができるため、入力が簡単で、より柔軟です。

31