2010年声優言及数 作業メモ(2) Rにデータを渡す

前回キーワード統計情報の取得の話だけなのでPerlを使っていますが、実際の解析はRでやります。
あとで再利用したいので、まず統計情報だけあらかじめダウンロードしておきます。

$ perl -MURI::Escape -nle '$k=uri_escape $_; print "wget -O $k.json \"http://d.hatena.ne.jp/api/keywordstats?keyword=$k&from=2009-01-01&to=2010-12-31&refer_count=1\"; sleep 1"' va.txt > download_json.sh

で、ダウンロードしたJSON形式のデータはそのままRで読み込めます。

> library(rjson)
> d <- fromJSON(readLines("%E5%B0%8F%E8%A6%8B%E5%B7%9D%E5%8D%83%E6%98%8E.json"))[[1]]
> summary(d)
                Length Class  Mode     
merged_keywords   0    -none- list     
keyword           1    -none- character
to                1    -none- character
from              1    -none- character
refer_count     730    -none- list     

> d
$merged_keywords
list()
$keyword
[1] "小見川千明"
$to
[1] "2010-12-31"
$from
[1] "2009-01-01"
$refer_count
$refer_count[[1]]
NULL
$refer_count[[2]]
[1] "2"
$refer_count[[3]]
[1] 0
..
..

すばらしい!
もちろん、Rから直接APIを叩いてもOKです。

library(RCurl)
library(rjson)

contents <- getURL("http://d.hatena.ne.jp/api/keywordstats?keyword=%E5%B0%8F%E8%A6%8B%E5%B7%9D%E5%8D%83%E6%98%8E&from=2009-01-01&to=2010-12-31&refer_count=1")
d <- fromJSON(contents)[[1]]