成長率の計算

以下に改訂版の既述あり。

成長率の計算(改訂版) - ハリ・セルダンになりたくて(はてダから移行中)

 

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)