2014-07-01から1ヶ月間の記事一覧

副作用を許しながらもchainしていく

集計結果を途中でプロットしながらもその結果はオブジェクトに保存しておきたい、 例えば以下のようなケースです。 library(dplyr) > iris %>% group_by(Species) %>% summarise(avg=mean(Sepal.Length)) -> res > plot(res) #plot結果は省略 そんな時はmagr…

:=でコードをシンプルにする

下記のようにグループ化して求めた統計量を元のデータに付加することは多々あると思います。 library(dplyr) iris <- iris %>% group_by(Species) %>% mutate(Sp.mean=mean(Sepal.Length)) しかし、ここでirisを2回も書くのは冗長なのでシンプルにしたい。 …

rlistパッケージはリストのデータハンドリングに便利

R

大抵データフレームで扱うのだが、JSONのデータを読み込む際などリストで扱わざるを得ない時がある。 で、リストのデータハンドリングをよしなにやってくれるrlistというパッケージがある。 http://renkun.me/r/2014/06/26/rlist-a-new-package-for-working-…

freadでzipファイルを読み込む

data.tableのfreadは読み込みがめちゃ速いがzipをそのまま読み込んでくれない。 > fread("C:/Users/hoge/iris.zip") Error in fread("C:/Users/h1030/iris.zip") : embedded nul in string: '$Qcーゥエネ?e轄I7!H\036ヲ+1ォ:粐*=\026\035mス岻Iンキ弌GS?T)レ\xe4\001ェR…

YOするパッケージを作りました

YOするパッケージを作りました。 R用とjulia用とあります。 長い計算をやった後のプッシュ通知などにどうぞ。 API tokenの取得は下記から。 http://yoapi.justyo.co/ # Rの場合 library(devtools) install_github("dichika/yo") library(yo) # フォロワー全…

magrittrの代入演算子

R

=とか-=といった代入演算子が他の言語にはあるわけですがRにはない。 ですがmagrittrパッケージの:=を使うことで実現できます。 devtools::install_github("smbache/magrittr") a=1 a:=add(1) a:=subtract(1)

パッケージを作る

先日のJuliaTokyo#1のこの発表資料がわかりやすいので読むと吉。 http://www.slideshare.net/KentaSato/julia-36649709 ↑の方のパッケージ(juliaのランダムフォレスト)は実際にコードを書く上で参考になる。 https://github.com/bicycle1885/RandomForests…

"親切なおじさんありがとう" %->% res

先日のワガママな悩みを親切なおじさんが解決してくれました。素敵ですね! https://github.com/smbache/magrittr/pull/23いずれ取り込まれるとは思いますがすぐに使いたい私は以下のようにしたのでした。 library(devtools) install_github("teramonagi/mag…

chainしながらもオブジェクトを残したい

R

%>%連発しながらもオブジェクトは残したい、そんなことあると思います。 以下のような感じでやりたいわけです。しかしこれはエラーになる。 iris %>% group_by(Species) %>% summarise(mn=mean(Sepal.Length)) -> res %>% qplot(data=.,x=Species,y=mn,geom=…