裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

R: magrittr の %>% と base-R の |> で挙動が異なる

2022年04月02日 | ブログラミング

以下の実行結果はなんの不審もないだろう。

> (((2+3)-4)*5/6)^7
[1] 0.2790816

magrittr パッケージの %>% を使って(無理やり計算してみる)

> library(magrittr)
> 2 %>% +(3)
[1] 5
> 2 %>% -(3)
[1] -1
> # 2 %>% *(3) # これはエラーになる。
> 2 %>% "*"(3)
[1] 6
> # 2 %>% /(3) # これはエラーになる。
> 2 %>% "/"(3)
[1] 0.6666667
# 2 %>% ^(3) # これはエラーになる。
> 2 %>% "^"(3)

[1] 8

まとめると
> 2 %>% +3%>% -4 %>% "*"(5) %>% "/"(6) %>% "^"(7)
[1] 0.2790816

base-R では,基本的に四則演算子はダブルクオートで区切る,
かつ第1引数は名前はなんでもよいが形式的に
' for=_' とでもする
> 2 |> "+"(a=_, 3)
[1] 5
> 2 |> "-"(any=_, 3)
[1] -1
> 2 |> "*"(foo=_, 3)
[1] 6
> 2 |> "/"(longlonglonglonganything=_, 3)
[1] 0.6666667
> 2 |> "^"(xxxxx=_, 3)
[1] 8

まとめると
> 2 |> "+"(d=_, 3) |> "-"(d=_, 4) |> "*"(d=_, 5) |> "/"(d=_, 6) |> "^"(d=_, 7)
[1] 0.2790816

同じ結果を得るにしても,かなり指定法が異なる。

なお,Julia の |> については,調査結果が得られていない。どうしたもんか...

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PVアクセスランキング にほんブログ村

PVアクセスランキング にほんブログ村