ベクトル操作の基本的な所で、pipeRパッケージ developed by 蓮君(@renkun_ken)がありがたい
はじめに
蓮君というイケメン中国人クオンツストラテジストがいる。
彼は、pipeRパッケージの
の作者だ。これに関する日本語のスライドとしては、
pipeR の使い方【ノーカット版】 from hoxo_m
を見ておくとよいだろう。また、スライドではなく、Webページとしての資料の場合、日本語だと
が大変よくまとまっていてありがたい。英語で良いなら、蓮君自身が作成している
のチュートリアルを追うのが良いだろう。
本論
無駄に前置きが長くなったが、やりたいことは簡単で、
- Rって、listやdata.frameだと$で要素/列にアクセスできるのに、ベクトルだとダメなのイケてないよね?
って話で、pipeRパッケージの()を使うと、扱いが統一されて見通しがよくなるということです。以下、簡単な例。
> #適当な名前付ベクトル > a <- c(x=10, y=20) > #これはだめ > a$x Error in a$x : $ operator is invalid for atomic vectors > #これはいいけど、文字列として書く必要がある > a["y"] y 20 > #pipeRを使うと・・・ > library(pipeR) > a %>>% (x) [1] 10 > #リストでもいい! > b <- list(x=10, y=20) > b %>>% (x) [1] 10 > > #これはデータフレームの列抽出とも同じ > iris %>>% (Species) [1] setosa setosa setosa setosa setosa setosa setosa setosa [9] setosa setosa setosa setosa setosa setosa setosa setosa [17] setosa setosa setosa setosa setosa setosa seto ...(省略)