便利なパイプ演算子 %>%
……の覚書。
パイプ演算子とは
パイプ演算子は、左辺のオブジェクトを右辺の関数に入れる機能を持つ演算子。
%>%
%>%
はtidyverse
に含まれているパイプ演算子。%>%
の左にあるデータを右の関数の第一引数に渡す役割を担う。
|>
|>
はR 4.1.0以降で備わっているパイプ演算子。
・
・
・
今回は、%>%
についての覚書。
|>
については後日。
事前準備
pipe演算子%>%
は、「dplyr」で提供されている演算子なので、事前に「dplyr」をインストールしておく必要がある。
だけど、たいていは「tidyverse」に入っているので、「tidyverse」をインストールする。
library(tidyverse)
%>% の使い方
使用例のデータを作る
適当にデータフレームを作る。
Data <- data.frame(matrix(c(1:8),2))
print(Data)
X1 X2 X3 X4
1 1 3 5 7
2 2 4 6 8
例えば、このデータの2列目と3列目を足した値を5列目に追加する。
今回は「dyplyr」のmutate
を使う。
Data <- dplyr::mutate(Data, Sum1=X2+X4)
print(Data)
X1 X2 X3 X4 Sum1
1 1 3 5 7 10
2 2 4 6 8 12
%>% を使って2つのデータを繋げる
上記2つのデータをパイプ演算子で繋げると、こんな感じ。
Data <- data.frame(matrix(c(1:8),2)) %>%
dplyr::mutate(Sum1 = X2+X4)
pring(Data)
X1 X2 X3 X4 Sum1
1 1 3 5 7 10
2 2 4 6 8 12
いくつも繋げられる
パイプ演算子はいくつも繋げられて、毎回第一引数を渡してくれる。
Data <- data.frame(matrix(c(1:8),2)) %>%
dplyr::mutate(Sum1 = X2+X4) %>%
mutate(Sum2 = X1+X3) %>%
mutate(Average = mean(c(X1,X2,X3)))
Data
X1 X2 X3 X4 Sum1 Sum2 Average
1 1 3 5 7 10 6 3.5
2 2 4 6 8 12 8 3.5
%>% のショートカット
%>%
のショートカットは、「Ctrl + Shit + M」。