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

RStudioでbigqueryを叩こうとしてハマった話

R

bigrqueryというパッケージがあり、Rからbigrqueryを使うことができる。 しかしRStudioだと認証がうまくいかない。 Rからだとうまくいく。うーむ。 以下、別パッケージの話ではあるが、OAuth周りでエラー起こしてるっぽい。 https://github.com/hadley/httr/…

Hadley Wickhamのdplyrについての講演

R

Metamarkets社主催のmeetupでHadley Wickhamがdplyrについて講演している。 その模様は下記から(スライドとビデオあり)。 http://metamarkets.com/2014/rmeetup/ Rstudioから、ということで、Joe ChengもShinyについて講演しているのでこちらに興味ある方…

GBMを用いた傾向スコア法

R

前回のまとめ記事からtwangパッケージを選んで実際の手順を回してみる。 twangを選んだ理由は、3群以上の群に対する適用が可能だったこと+モデルがロジスティック回帰に比べて性能の良いGBMだったことの2点。 なお、twangの使い方についてはビネットにまと…

傾向スコア法についての覚書

R

RCTなんてやってらんないので傾向スコア × multiple imputation × 大規模データを使って論文を大量生産したい、という想いに駆られました。 multiple imputationは今後に回すとしてまずは傾向スコア。 傾向スコアを使う上でのポイントについてはこちらの勉強…

Rで作業終了時に音を鳴らす

R

RBloggersの記事からの紹介です。 http://www.sumsar.net/blog/2014/01/announcing-pingr/Rで音を鳴らしたくなること、あると思います。 例えば長時間の作業終了時。 alarm関数でやれみたいな話を聞きますが、環境によっては鳴らない。 私の環境(Mac)でも…

openCVで犬猫判別をする前の準備

犬猫判別をしたい。 それにはSIFTだのSURFだのといった特徴量を作るアルゴリズムが必要。 手軽にやりたいのでopenCVを使う。 で、下記に従ってビルド済のcv2.pydをsite-packagesに移動させてインストール完了!!! http://docs.opencv.org/trunk/doc/py_tut…

See Click Predict Fix Competition2位の人のインタビュー

See Click Predict Fix Competitionというコンペで2位になったチームのインタビュー。 http://blog.kaggle.com/2014/01/07/qa-with-bryan-miroslaw-2nd-place-in-the-see-click-predict-fix-competition/ See Click Predict Fix CompetitionはSee Clickとい…

dplyrのsummarise関係のバグ

maniputatrのメーリングリストより。 https://groups.google.com/forum/#!topic/manipulatr/-z28V8UVU9s 下記コードでNaNが出る。 library(dplyr) data(diamonds, package = "ggplot2") diamonds %.% group_by(cut) %.% summarise(all=mean(price), E=mean(p…

IPython notebookを使う

業務で扱うデータはそんなに大きくないサイズで、しかも専門に特化した手法など使うことが多いのでRで十分なわけです。 ただkaggleとかコンペの場合Rだと難儀することが多いのでPythonを使います。 で、最近PCを新調したのでついでに環境も新しいのを試そう…

.Internalとか.Primitiveで読み込まれている関数の中身を見る

R

たとえばnames関数の中身を見るために関数名をタイプすると以下の結果が得られる。 > names function (x) .Primitive("names") こうなるとR自体のソースでnamesを探すしかないのだが以下の資料内の「Compiled Code Sources」に探し方が書いてある。 http://c…

data.tableでcolnamesを使うと怒られる

R

data.table型にしたデータに対してcolnames関数を使うとぐわーっと警告が出る。 > library(data.table) > iris <- as.data.table(iris) > colnames(iris) <- colnames(iris) Warning message: In `names<-.data.table`(`*tmp*`, value = value) : The colnam…

freadがシェルのコマンドを受け付けてくれて便利

テキストファイルの読み込みに関して、read.tableやらそのラッパーのread.csvよりdata.tableパッケージのfread関数が速いというのはよく知られた事実です。 http://www.slideshare.net/sfchaos/datatableさて、そのfreadがシェルのコマンドを受け付けてくれ…

横持ちデータに変換するならreshapeよりdcast.data.table

R

かつて縦持ちデータ(long)を横持ちデータ(wide)に変換する際、reshapeが遅すぎて困っていたわけですが解決しました。 data.tableパッケージのdcast.data.tableを使えば10倍以上速くなります。 ただしCRANに上がっているパッケージではまだ実装されていないよ…

dplyrがCRANにアップされていた

CRANアップ記念ということで作者のHadleyが所属するRStudioのブログにdplyrについて記事が上がっている。 http://blog.rstudio.org/2014/01/17/introducing-dplyr/気になったのは%.%演算子。 シェルでいうところのパイプラインみたいなものか。%.%で処理をつ…

Rcppの資料群

Rcppの資料を色々眺めている。 Rcppのサイトは以下。 http://www.rcpp.org/ ギャラリーとして様々な使用例が紹介されており、その数現時点で75。 http://gallery.rcpp.org/例えばdataframeの扱い方など。 http://gallery.rcpp.org/articles/modifying-a-data…

Rでseleniumが使えるようになった

R

seleniumというのは元々webアプリの画面テストを自動化する目的で開発されたツールです多分。 ブラウザを立ち上げて自動操作で色々やれます。使い途はこちらから。 http://hatakazu.hatenablog.com/entry/2012/06/10/083928 で、最近Rからseleniumを使えるre…

dplyrは列数に影響を受けない

plyrとdoByをきちんと検証した素晴らしい記事がある。 http://gg-hogehoge.hatenablog.com/entry/2014/01/04/143733 dplyrがインストールできないとのことなので、dplyrも加えて検証した。 結果 dplyrが圧倒的だった。 本当はplyrは列数が増えるとなぜ遅くな…

Rcppに入門する

Rcppで書けば色々速くなるんじゃね?という希望を抱いている方、多いと思います。 実際速くなるかどうかは別として概要を把握するのによさげな解説があります。 ggplot2やplyr、reshape2の作者で現在RstudioにいるHadley Wickhamが書いています。 http://adv…

dplyrのjoinがmergeに比べて3倍速い

私、集計はplyrでやろうぜええええええええええとか言ってる割に、データマージはmerge()でやっておりました。 もうそろそろ冬休み終わるし沢山の集計作業が待っているが俺は早く帰りたい。 ということでdplyrの*_join()のうち、inner_join()を試してみまし…

dplyr最強伝説

plyrは遅いと思っておりましたし実際そのような検証結果も2013のR Advent calendarで出ておりました。 まあ文法がggplot2と同じような感じなのでggplot脳の自分としてはまあ多少遅くても新しい文法覚えるよりましかとか思っていたわけです。ただ、新しい文法…