Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

animation1.0

1,479 views

Published on

Published in: Education

animation1.0

  1. 1. 実行して4秒で動画~animationパッケージ で動画作成~ @sleipnir002 Tokyo.R#20
  2. 2. 自己紹介 @sleipnir002 •Tokyo.Rでパターン認識の発表をシリーズで やっています。 •職業:ITコンサル自粛 •データマイニングのIT業界への普及と促進の ために活動しています。 •ガイア好きです。 •好きなAKB48のメンバーはこじはるです。
  3. 3. animationパッケージのご紹介
  4. 4. パッケージ概要 Rのプロットを結合して、アニメーション形式で出力するパッケージ1. Rから複数のアニメーションフォーマットへの エクスポートをサポート →自分の望む形式に変換して、ホームページやレポート に埋め込みができる!2. 統計教育用のサンプルアニメーションを含む →統計の勉強になる!
  5. 5. animationを使って動画を作成してみよう!library(animation) Package animationani.options(outdir="/var/XXX/") オプションの設定s<-function(x, k){x^3+k*x^2-5*x+4}ani.start() 録画開始for(i in -30:30){ plot(s(-30:30, i), type="l", ylim=c(- 3次関数の係数を変更し 10000, 10000)) てプロット}ani.stop() 録画停止 HTML形式のファイルが作成されていることを確認する。
  6. 6. インストール• install.packages(“animation”)だけでOK!• 以下のコマンドのインストールが必要• ImageMagick・・・画像処理用のコマンドラインツール $ sudo apt-get install imagemagick• SWF Tools・・・SWF生成用のコマンドラインツール $ sudo apt-get install libfreetype6-dev libgif-dev xpdf libjpeg8 libjpeg8-dev ←r-base-devを削除した。 $ wget http://www.swftools.org/swftools-0.9.1.tar.gz $ tar -zxvf swftools-0.9.1.tar.gz $cd swftools-0.9.1 $./configure $make $sudo make install OS:Ubuntu 10.10 64bitの場合
  7. 7. 出力形式• HTML形式・・・ブラウザ上で再 生するページを作成• GIF形式・・・GIFに出力• SWF形式・・・FLASHに出力• PDF形式・・・Texで埋め込み• 動画形式・・・mpeg4等に出力• 動画をRのグラフィックデバイ ス上に作成することも可能。
  8. 8. 動画を作成してみる
  9. 9. animationを使って動画を作成する3つの方法A) savehoge()形式で特定フォーマットで保存B) ani.start()形式でHTML形式で保存C) ani.record()で録画、ani.replayで再生を行う。
  10. 10. A)saveHTML 動画を閲覧できるHMTLページを作成する。 >saveHTML(expr={bisection.method()}, img.name="bi") >saveHTML(expr={newton.method()}, img.name="newton")• JSを使用してHTMLから動画を閲覧可能にする。• exprで指定した手順でplotした画像を動画にする。• img.nameの引数を保存する画像の拡張子に使用する。• saveHTMLを複数回実行すると、ページ上にはHTMLが複数 表示される。 方程式の根を求めるアルゴリズムのデモ
  11. 11. A)saveGIF GIF形式の動画を作成する。 >saveGIF(expr={boot.iid()}, clean=TRUE, img.name="boot", movie.name="boot.gif")• ImageMagickのコマンドを使用して、動画を作成する。• exprで指定した手順でplotした画像を動画にする。• img.nameで指定した接頭辞で保存する。• ファイルはオプションoutdirで指定したディレクトリに movie.nameの名前で保存される。 ブートストラップのデモ
  12. 12. A)saveSWF FLASH形式の動画を画像から作成する。 > saveSWF({expr=kmeans.ani(centers=4)},swftools=NULL, img.name="kmeans", swf.name="kmeans.swf")• SWF Toolsのpng2swfコマンドなどを使用して、画像をFLASH に変換する。• exprで指定した手順でplotした画像を動画にする。• img.nameで指定した接頭辞で保存する。• ファイルはオプションoutdirで指定したディレクトリに swf.nameの名前で保存される。 K-means法の動きを表すアルゴリズムのデモ
  13. 13. B)ani.start(), ani.stop() HTMLによるアニメーションページを作成 >ani.start() >・・・ >ani.stop() デモは省略• 自動的にoutdirにJSファイルをコピーして、start開始後、stop までに作成されたplotで動画を作成する。• saveHTMLとは出力画面の形式が異なる。• 指定したフォルダに必要なjavascriptファイルを出力するので 注意。
  14. 14. C)ani.record (), ani.replay() recordでカレントのデバイスを録画して、replayで再生する。 >for(i in 0:9){ + rbfsvm <- ksvm(x,y,kernel=rbfdot(sigma=1), C=1+i*20) + ani.record() + plot(rbfsvm,data=x,key.axes=axis(4, seq(-7, 7, by=1)), zlim=c(-7, 7)) +} >ani.replay()• ani.recordでカレントのデバイスの画像を保存して、記録する。• ani.replayで記録した動画の再生を行う。 SVMの正則化のコストを大きくした時の挙動のデモ
  15. 15. オプション
  16. 16. ani.option(1) >ani.option() or ani.option(“interval”) #オプション内容の確認 >ani.option(oopt) #デフォルトに戻す。 >ani.options(interval=0.5)#インターバルを0.5に設定• interval・・・フレームの間隔(秒)• nmax・・・フレームの最大数• ani.width,ani.height・・・画像の幅と高さ• ani.dev,ani.type・・・デバイス、画像の種類
  17. 17. ani.option(2) [hmtlfile] ・・・デフォルトのHTML出力ファイル [OUTDIR] [IMAGES] ・・・デフォルトの画像出力先フォルダデフォルトの出力先フォルダ。特に指定しなければ、tmpフォルダが使用される。• outdir・・・デフォルトの出力先フォルダ• htmlfile・・・HTML出力(index.html)• images・・・作成した画像を含むフォルダ
  18. 18. まとめ• animationパッケージでRで簡単に動画が作成 できるからみんな動画で可視化してみよう。• animationパッケージで動画を作成する際の フォーマットはGIF,HTML,SWF,MPEGなど• 統計教育用アニメーションがいっぱいあるの で、暇な人は見てみよう。
  19. 19. 最後に
  20. 20. こんな使い方はいかがでしょうか?
  21. 21. Tokyo.R 第20回記念作品「Rを巡る素敵な恋の物語」
  22. 22. ♪DREAMS COMES TRUE 『LOVE LOVE LOVE』
  23. 23. 今からお話しするのはRを巡る素敵な恋の物語
  24. 24. この物語の主人公は
  25. 25. Tokyo.Rに参加しているR君
  26. 26. 理系大学院生の彼は勉強熱心で まじめな青年
  27. 27. そしてRが大好き
  28. 28. 強いて挙げるとすると彼の欠点はまじめすぎて奥手なところ
  29. 29. そんな彼は毎回Tokyo.Rに参加しています
  30. 30. その理由はRの勉強をするため
  31. 31. でも、彼にはTokyo.Rに参加する もう一つの理由がありました
  32. 32. それはよくTokyo.Rに参加しているSちゃん
  33. 33. 彼はひそかに彼女に想いを よせいていたのでした
  34. 34. 奥手な彼は彼女のアドレスを 教えてもらったのですが、
  35. 35. Rの話しかできずにいたのです
  36. 36. そんなある日、
  37. 37. 彼は素敵なイケメンITコンサルさんの紹介で animationパッケージに出会いました
  38. 38. 「よし、これだ!」
  39. 39. 意を決したS君
  40. 40. ある日、Sちゃんを誘ってこう話しかけました
  41. 41. 「ねぇSちゃん、Rのプロットにサブタイトルを付け たいんだけど、付け方がわからないから 教えてくれないかな」
  42. 42. Sちゃんは答えました
  43. 43. 『あら、そんなの簡単だわ。』
  44. 44. 「ほんとに、じゃあこのソースコードに 付け加えてもらえるかな?」
  45. 45. R君は自分のPCをSちゃんの前に 置きました
  46. 46. 『えーと、plotは・・・あっ・・・』
  47. 47. Sちゃんはソースコード読み、 一瞬はっとします
  48. 48. そして、彼女はそのソースコードに sub=“yes”と書き加え、 二人はめでたく結ばれました。
  49. 49. そのコードはanimationパッケージを使用していました
  50. 50. そしてそのコードを実行すると・・・
  51. 51. Fin
  52. 52. animationで素敵なRライフを Be happyWith animation ※今日の資料はコードも含めてblogにアップします。

×