以下に改訂版の既述あり。
成長率の計算(改訂版) - ハリ・セルダンになりたくて(はてダから移行中)
Rを使って成長率(%表示)を計算する方法についての備忘録。
前提:tsDataをベクトルもしくはtsオブジェクトとする。
その1:対数差分
diff(log(tsData))*100
メリット:成長率の近似であるが、プログラムが簡単
デメリット:tsData
の要素が正である必要がある(たとえばGDPならOK、在庫変動は[負になることがあるため]ダメ)
その2:定義通りに成長率を計算する
一行で書くと:
numSize <- length(tsData); tsGrowth <- (diff(tsData)/tsData[-numSize]) * 100
関数にするなら以下:
growthRate <- function(tsData)
{
numSize <- length(tsData)
tsGrowth <- (diff(tsData)/tsData[-numSize]) * 100
return(tsGrowth)
}
使い方はこんな感じ。
source("growthRate.R")
tmpTs <- seq(1,10,by=0.3)
growthRate(tmpTs)