RとImageMagickでアニメーション作成、カイ二乗分布シミュレーションをアニメに |
#以前作成した関数コードchi()、chi_sim()を用います。こちらを参考にしてください。以下の関数を動かす前に読み込んでおく(コードを選択してコマンド+リターン)必要があります。
#準備としてanimationパッケージをダウンロード。ImageMagickは https://www.imagemagick.org/script/index.php からダウンロードしてインストロールしておきます。Rで複数の画像を作成し、それをImageMagickのconvertという機能を使ってgifファイルを作成する、という流れです。
自由度を変えたカイ二乗分布シミュレーションをアニメにすると、イメージを持ちやすくなると思います。以下のように作りました。
library(animation)
library(ggplot2)
#画像を順次出力するコード
gifplot <- function(n){
#実際に動かしてみる。ani.replayで何回も再生できる。ただ画像ファイルは生成されない。
gifplot(14) #自由度14まで結果を画面に表示させます。
ani.replay() #もう一度再生します。
#GIFファイルとして保存する操作です。ImageMagickのconvert機能を呼び出して使います。
#まずani.options()でImageMagickのconvertの場所を指定します。
ani.options(convert = '/opt/ImageMagick/bin/convert')
#gifファイルを作成して保存します。
saveGIF(gifplot(14), interval = 0.5, movie.name = "movie_chi2.gif", img.name = "Rplot", convert = "convert")
#オプション指定の方法は、https://www.rdocumentation.org/packages/animation/versions/2.5/topics/im.convert を参考にしました。
#マックのクイックビュー.appを使ってファイルを再生する場合、開く→ファイル選択→クリックではなくてスペースキー押す、とすると再生が始まります。
#このエキサイトブログ、gifファイルの容量が大きくなると動かないみたいです。最初は640kbのファイルを上げたらうごかず、460kbに落としたらうごくようになりました。