面板数据r中的周期回归系数

时间:2018-10-22 09:53:50

标签: r regression panel periodicity

我有一个这样的面板数据框。其中return是因变量,mkreturn是自变量。

Firm date return mkreturn
A   Jan-07  7     12
A   Feb-07  8     14
A   Mar-07  2     16
A   Apr-07  4     18
A   May-07  2     20
A   Jun-07  5     15
A   Jul-07  3     17
A   Aug-07  4     13
A   Sep-07  2     19
A   Oct-07  5     20
A   Nov-07  4     21
A   Dec-07  6     13
A   Jan-08  7     21
A   Feb-08  7     33
A   Mar-08  5     12
A   Apr-08  5     12
A   May-08  5     15
A   Jun-08  4     17
A   Jul-08  4     13
A   Aug-08  4     12
A   Sep-08  2     12
A   Oct-08  3     17
A   Nov-08  4     15
A   Dec-08  7     10
B   Jan-07  12    12
B   Feb-07  4     14
B   Mar-07  10    16
B   Apr-07  9     18
B   May-07  9     20
B   Jun-07  13    15
B   Jul-07  7     17
B   Aug-07  14    13
B   Sep-07  21    19
B   Oct-07  13    20
B   Nov-07  12    21
B   Dec-07  18    13
B   Jan-08  13    21
B   Feb-08  16    33
B   Mar-08  14    12
B   Apr-08  5     12
B   May-08  21    15
B   Jun-08  12    17
B   Jul-08  16    13
B   Aug-08  11    12
B   Sep-08  11    12
B   Oct-08  10    17
B   Nov-08  15    15
B   Dec-08  9     10

现在我想找出像这样的年度回归系数。(但是,数据可能是每日的,预期输出可能是每月的)

             mkreturn coeff
2007    A         ……
2008    A         ……
2007    B         ……
2008    B         ……

在这方面,您能帮我吗?

2 个答案:

答案 0 :(得分:0)

如果我理解此权利(您数据框的名称为df)

#create new variable which is a combination of firm and date    
df$tuple=factor(paste0(df$Firm,substr(df$date,5,6))) 

#linear model with interatcions
lm(return~tuple*mkreturn,data=df) 

答案 1 :(得分:0)

年列

test$Year <- format(test$date,format="%Y")

每年创建固定组

test$id <- paste(test$Firm, test$Year, sep="_")

使用lme4包运行GroupWise回归。这里的id是组列

library(lme4)
fits <- lmList(return ~ mkreturn | id, data=df)
coefficients(fits)

输出

       (Intercept)      mkreturn
A_2007   10.501558 -3.738318e-01
A_2008    2.967155  1.131965e-01
B_2007   11.833333 -6.869076e-16
B_2008    9.230499  2.234604e-01