本帖最后由 legendRoger 于 2017-8-18 10:34 编辑
大家好,我想向大家请教一个滚动回归的问题。我有一堆因变量和几个自变量,而且数据中有一些NA(这些NA是连续的,不会出现数据中间掺杂NA的情况 。每一个因变量要和这些自变量进行一个线性滚动回归(36个月)。因变量大约有2000个,自变量共有5个。我希望截取这些线性回归的系数。下边的表格贴出来了一部分数据和几个自变量和因变量。我的代码如下:
rr <- rollapply(df, width = 36, FUN = function(z) coef(lm(Y1~ X1+X2, data = as.data.frame(z))), by.column = FALSE, align = "right")
这个代码有些问题,首先是他一次只能解决一个因变量;其次是获得的系数都是一样的,不能解决NA的问题。如果能有大牛帮助,我真的万分感谢! Date Y1 Y2 X1 X2 1/1/2006 NA 0.03 0.35 0.94
2/1/2006 NA 0.05 0.34 1.01
3/1/2006 NA -0.09 0.37 0.76
4/1/2006 NA 0.04 0.36 0.68
5/1/2006 NA -0.14 0.43 1.21
6/1/2006 NA 0.00 0.40 1.08
7/1/2006 NA 0.23 0.40 1.39
8/1/2006 NA 0.43 0.42 0.97
9/1/2006 NA 0.11 0.41 1.10
10/1/2006 NA 0.11 0.41 1.02
11/1/2006 NA 0.22 0.42 1.36
12/1/2006 NA -0.31 0.40 0.84
1/1/2007 NA -0.13 0.44 1.26
2/1/2007 NA 0.58 0.38 1.00
3/1/2007 NA -0.02 0.43 1.24
4/1/2007 NA -0.02 0.44 0.70
5/1/2007 NA -0.43 0.41 1.35
6/1/2007 NA 0.04 0.40 1.32
7/1/2007 NA 0.04 0.40 0.68
8/1/2007 NA 0.14 0.42 0.86
9/1/2007 NA 0.66 0.32 0.71
10/1/2007 NA 0.11 0.32 0.62
11/1/2007 NA 0.42 0.34 0.92
12/1/2007 NA 0.16 0.27 0.35
1/1/2008 NA 1.21 0.21 0.65
2/1/2008 NA 0.16 0.13 0.37
3/1/2008 NA -1.18 0.17 0.62
4/1/2008 NA 0.13 0.18 0.68
5/1/2008 NA 0.24 0.18 0.57
6/1/2008 NA 0.13 0.17 0.97
7/1/2008 NA -0.50 0.15 0.96
8/1/2008 NA -0.15 0.13 0.27
9/1/2008 NA -2.33 0.15 0.52
10/1/2008 NA -2.19 0.08 0.96
11/1/2008 NA -2.20 0.03 0.62
12/1/2008 NA 2.63 0.00 0.91
1/1/2009 NA 1.51 0.00 0.75
2/1/2009 NA -0.38 0.01 0.59
3/1/2009 NA 1.54 0.02 0.96
4/1/2009 NA 1.78 0.01 0.92
5/1/2009 NA 0.94 0.00 0.02
6/1/2009 NA 1.37 0.01 0.46
7/1/2009 NA 1.22 0.01 0.61
8/1/2009 NA 1.30 0.01 0.04
9/1/2009 NA 0.83 0.01 0.03
10/1/2009 NA 0.95 0.00 0.61
11/1/2009 NA 0.28 0.00 0.53
12/1/2009 NA 0.17 0.01 0.32
1/1/2010 1.77 NA 0.00 0.53
2/1/2010 0.39 NA 0.00 0.16
3/1/2010 0.11 NA 0.01 0.58
4/1/2010 1.26 NA 0.01 0.41
5/1/2010 0.57 NA 0.01 0.90
6/1/2010 1.48 NA 0.01 0.58
7/1/2010 1.16 NA 0.01 0.03
8/1/2010 1.37 NA 0.01 0.23
9/1/2010 0.30 NA 0.01 0.77
10/1/2010 0.63 NA 0.01 0.75
11/1/2010 -0.60 NA 0.01 0.74
12/1/2010 -0.91 NA 0.01 0.41
1/1/2011 0.26 NA 0.01 0.64
2/1/2011 0.42 NA 0.01 0.65
3/1/2011 0.01 NA 0.01 0.38
4/1/2011 1.52 NA 0.00 0.15
5/1/2011 1.15 NA 0.00 0.25
6/1/2011 -0.23 NA 0.00 0.49
7/1/2011 1.69 NA 0.00 0.66
8/1/2011 1.19 NA 0.01 0.88
9/1/2011 0.62 NA 0.00 0.41
10/1/2011 0.36 NA 0.00 0.27
11/1/2011 -0.24 NA 0.00 0.91
12/1/2011 1.27 NA 0.00 0.97
1/1/2012 1.11 NA 0.00 0.41
2/1/2012 0.10 NA 0.00 1.00
3/1/2012 -0.43 NA 0.00 0.80
4/1/2012 1.25 NA 0.00 0.89
5/1/2012 0.99 NA 0.01 0.41
6/1/2012 0.25 NA 0.00 0.96
7/1/2012 1.59 NA 0.00 0.06
8/1/2012 0.16 NA 0.01 0.83
9/1/2012 0.38 NA 0.01 0.32
10/1/2012 0.23 NA 0.01 0.94
11/1/2012 0.27 NA 0.01 0.72
12/1/2012 -0.22 NA 0.01 0.85
|