引数が 1 つの関数の場合、「標準」の R コードをmagrittr
パイプ スタイルに変換するのはかなり簡単です。
mean(rnorm(100))
になる
rnorm(100) %>% mean
複数の引数を持つ関数の場合、どのように処理を進めるのが最善なのか、私にはわかりません。2 つのケースがあります。
まず、追加の引数が定数の場合。この場合、定数値を変更する無名関数を作成できます。例えば:
mean(rnorm(100), trim = 0.5)
になる
rnorm(100) %>% (function(x) mean(x, trim = 0.5))
2 つ目は、複数のベクトル引数が必要な場合です。この場合、入力をリストに結合し、リスト要素を操作する無名関数を作成できます。
cor(rnorm(100), runif(100))
になる
list(x = rnorm(100), y = runif(100)) %>% (function(l) with(l, cor(x, y)))
どちらの場合も、私の解決策は不格好に見えるので、これを行うためのより良い方法が欠けているように感じます。複数の引数を関数にパイプするにはどうすればよいですか?