如何从 R 中的面板数据计算增长率(1 年和 3 年)

How to compute growth rate (1- and 3-year horizon) from panel data in R

我有几家银行的面板数据集,每家银行从 1997 年到 2015 年都有年度观察 s.t.:

CODE      COUNTRY      YEAR      LOANS_NET      ...other variables
671405      AT         1997       39028938
671405      AT         1998       41033237
671405      AT         1999       35735062
...
...
671405      AT         2015      130701872
...
30885R      DE         2004      200024673
...
...

使用 R,我需要计算额外的两列:

1) LOANS_NET 1 年期增长率

2) LOANS_NET 3 年的增长率,计算后必须年化。

例如:

Loan Growth 3-year = [Bank's(i) LOANS_NET Year(t) / Bank's(i) LOANS_NET Year(t-3)] -1

nb: 数据包含大量缺失值,代码必须考虑这个问题! :)

@Dan 你用什么包吗?我建议您使用 zoo 和 data.table 包并按以下方式转换日期:

DT[, YearNumeric := as.numeric(YEAR)]
DT[, PreviousYearLoanNet := .SD[match(YearNumeric - 1, .SD$YearNumeric), LOANS_NET], by=CODE]

在这里,您创建一个包含以前(-1 年)贷款值的列。然后你创建一个新的增长列:

DT[,Growth1Y:= (YEARLOANNET- PreviousYearLoanNet)/PreviousYearLoanNet]

然后你想做什么就做什么:)干杯!