ベクトル操作の基本的な所で、pipeRパッケージ developed by 蓮君(@renkun_ken)がありがたい

はじめに

蓮君というイケメン中国人クオンツストラテジストがいる。
あれば代替文

彼は、pipeRパッケージの

の作者だ。これに関する日本語のスライドとしては、

を見ておくとよいだろう。

また、スライドではなく、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 ...(省略)