Pigで累積和を算出する
Hadoop 上の膨大なデータに対して累積和を算出したいことってあると思います。
例えば、ある日からの経過日数ごとの累積売上額とか。
Pig では SUM と違って累積和を求める UDF は組み込み関数レベルでサポートされていません。
というわけで、Pig で累積和を求める方法を検討してみました。
Rで条件付き書式 for ESS & Terminal
先日、R から Excel に出力する際に、条件にマッチするセルにのみ特定の書式を適用する、という id:dichika さんのエントリーがありました。
cf. Rで条件付き書式(R Advent Calendar 2011) - BOD
Rで単体テスト
みなさん、ちゃんと単体テスト(ユニットテスト)してますか?
あまり再利用性のない分析コードだと縁のない話だと思うんですが、パッケージを開発するとか、よく使い回す関数を作成する場合はテストを書くべきです。
R で単体テストをする場合は RUnit を利用するのが普通かと思います。
そんなわけで、RUnit の実用的な使い方について説明します!
気に食わないRの組み込み関数を上書きして使いやすくした
個人的に rank, sort, names<- が気に食わなかったので上書きしてみました。
abicky/R_funcs - GitHub
RJSONIOでUnicode文字列を扱えるようにしてみた
R で JSON を扱うには rjson か RJSONIO がありますが、前者はすぐに落ちるし、後者はバージョン0.4以降 Unicode文字列が扱えないという状況で、実質 R では JSON を扱えません。
twitteR では RJSONIO を使って JSON をパースしているため、twitteR で日本語のツイートを取得するためにはわざわざ RJSONIO 0.3 をダウンロードして手動インストールしなければなりません。
Favmemoリニューアルしました!!
去年10月末のリリースから2日にして存在価値を失った残念なサービスFavmemoをリニューアルしました!
ちなみに Favmemo はTwitterの自分のお気に入りを管理・整理するサービスです!!
Favmemo
cf. Twitter のお気に入りをタグで管理するサービス Favmemo をリリースしました! - あらびき日記
jQueryの$.ajaxで通信途中のresponseTextを取得する
Chunked transfer encoding で通信しようとすると readyState が4じゃなくても結果を取得しなければなりません。
ところが、jQuery (1.7.1) の $.ajax の返すオブジェクトは、コメントに Fake xhr とあるように XMLHttpRequest ではないため、readyState が4になるまで XMLHttpRequest.responseText を取得することができません。1
-
XMLHttpRequest に DOMContentLoaded イベントを追加し、このイベントに対するコールバック関数が呼ばれた時に XMLHttpRequest.responseText を取得するみたいです ↩
RでMySQL風に出力する
去年 Rの文字出力に便利な関数を作ってみた - あらびき日記 というエントリーを書きましたが、print.mysqlike 関数を改良しました。
print.mysqlike.R at master from abicky/R_funcs - GitHub/print.mysqlike.R
Rの自作関数にコメントを付けられるようにしてみた
R5のメソッドでは usage を記述する仕組みが提供されています。S3関数でも usage 的な機能を提供しようとするとこんな感じかなぁと作ってみました。
usage.R at master from abicky/R_funcs - GitHub
数値っぽい表現を判定する正規表現を書いてみた
ググッてもすぐにヒットしなかったので、探すよりも自分で書いた方が早いと思って取り掛かったんですが、意外に時間がかかったので載せておきます。
最終的な正規表現を見るとかなりシンプルなんですが、何も考えないで書くと空文字列にマッチしたり、ドットにマッチしたりするかもしれないんで、意外にトラップが多いです。