Rjsonでニコニコデータセット遊び

ニコニコ動画のデータセットを取得しましたが, json形式でした. rjsonパッケージを使う練習をします.

library(rjson)
library(dplyr)
## 
## Attaching package: 'dplyr'
## 
##  以下のオブジェクトはマスクされています (from 'package:stats') : 
## 
##      filter, lag 
## 
##  以下のオブジェクトはマスクされています (from 'package:base') : 
## 
##      intersect, setdiff, setequal, union
# jsonデータの各行を読み込みます
lines = readLines("1925.dat")
dat = lines %>% lapply(fromJSON)

中身を見ます. 少しだけ.

dat[[1]]
## $video_id
## [1] "nm19250065"
## 
## $thread_id
## [1] 1.352e+09
## 
## $title
## [1] "【クロノトリガー全曲アレンジ】ロボのテーマ【p28】"
## 
## $description
## [1] "原曲:ロボのテーマ お題:無し<br /><br />PenguinDance→mylist/16882669の他のクロノトリガーアレンジ → mylist/13590939<br />同じお題のAgnus Deiさんの曲 → nm19246257<br />北の岬企画 → mylist/20333196"
## 
## $thumbnail_url
## [1] "http://tn-skr2.smilevideo.jp/smile?i=19250065"
## 
## $upload_time
## [1] "2012-10-31T23:01:36+09:00"
## 
## $length
## [1] 182
## 
## $movie_type
## [1] "swf"
## 
## $size_high
## [1] 4412912
## 
## $size_low
## [1] 4412861
## 
## $view_counter
## [1] 28
## 
## $comment_counter
## [1] 0
## 
## $mylist_counter
## [1] 1
## 
## $last_res_body
## [1] ""
## 
## $tags
## $tags[[1]]
## $tags[[1]]$tag
## [1] "PenguinDance"
## 
## $tags[[1]]$lock
## [1] 1
## 
## 
## $tags[[2]]
## $tags[[2]]$tag
## [1] "クロノアレンジ企画-北の岬-"
## 
## $tags[[2]]$lock
## [1] 1
## 
## 
## $tags[[3]]
## $tags[[3]]$tag
## [1] "クロノトリガー"
## 
## $tags[[3]]$lock
## [1] 1
## 
## 
## $tags[[4]]
## $tags[[4]]$tag
## [1] "ゲーム音楽アレンジ"
## 
## $tags[[4]]$lock
## [1] 1
## 
## 
## $tags[[5]]
## $tags[[5]]$tag
## [1] "音楽"
## 
## $tags[[5]]$category
## [1] 1
## 
## $tags[[5]]$lock
## [1] 1

タイトル, 投稿時間, 説明, 長さ, 動画サイズ, タグなどが入っていますね.

再生数だけ取り出します. ロングテールっぽいので, 対数取ってプロットします.

## 再生数だけ取り出す
views = dat %>% lapply(function(x) x$view_counter) %>% as.numeric

## とりあえずヒストグラム
hist(log10(views), prob=TRUE)

plot of chunk unnamed-chunk-3

## 2525再生未満の動画の割合
views %>% log10 %>% sapply(function(x) x<log10(2525)) %>% mean
## [1] 0.9724

2525再生未満の動画は97%ですか.

次はコメントデータを扱いたいです.