R 多次运行面板数据的回归
我想为我的面板数据运行回归。 我有以下格式的面板数据: 第1列有年份第2列有公司名称第3列有股权变量R 多次运行面板数据的回归,r,loops,panel,regression,R,Loops,Panel,Regression,我想为我的面板数据运行回归。 我有以下格式的面板数据: 第1列有年份第2列有公司名称第3列有股权变量 Year company name EQUITY 2006 A 12 2007 A 13 2008 A 23 2009 A 24 2010 A
Year company name EQUITY
2006 A 12
2007 A 13
2008 A 23
2009 A 24
2010 A 13
2011 A 14
2012 A 12
2013 A 14
2014 A 14
2015 A 15
2006 B 221
2007 B 242
2008 B 262
2009 B 250
2010 B 400
2011 B 411
2012 B 420
2013 B 420
2014 B 422
2015 B 450
我有200家公司10年的数据。我想将每家公司的股本对数回归到年数上(时间-10年)。我只想要斜率系数。
我希望我的输出如下:
第1列-年份第2列-公司名称第3列-贝塔值
Year company name slope(beta) p-value
2006 A beta value (assumed)
2007 A "
2008 A "
2009 A
2010 A
2011 A
2012 A "
2013 A
2014 A "
2015 A "
我是指每个公司的斜率系数 看不到您迄今为止所做的尝试,因此这里有一个解决方案可以帮助您启动并运行。你勾勒出的最终产出没有真正意义,因为你对每个公司都有一个斜率——不是每个公司每年都有一个斜率 下面是运行回归的基本R版本
by
用于分割数据,然后lm
用于估计
res <- by(indata, indata$company, FUN=function(x) { coef(lm(log(EQUITY) ~ Year+0, data=x))} )
更新
如果要将每年的坡度添加到数据集,可以添加
indata$slope <- res[indata$company]
谢谢你。我希望每年都有相同的坡度值。。。我们能做到吗?如果“我们”等于“我”,那么是的。请参阅更新的答案谢谢。但是我可以每年都有同样的valye吗。例如,如果A公司为12.34,那么在2006-2015年的每一年,这个值(12.34)都会出现。这就是斜率的作用,但我能在每一年都有相同的值吗。。。。相反,如果为每个公司拖动/复制。。。因为我的数据集要求相同。
indata$slope <- res[indata$company]
> indata
Year company EQUITY slope
1 2006 A 12 0.001344837
2 2007 A 13 0.001344837
3 2008 A 23 0.001344837
4 2009 A 24 0.001344837
5 2010 A 13 0.001344837
6 2011 A 14 0.001344837
7 2012 A 12 0.001344837
8 2013 A 14 0.001344837
9 2014 A 14 0.001344837
10 2015 A 15 0.001344837
11 2006 B 221 0.002896053
12 2007 B 242 0.002896053
13 2008 B 262 0.002896053
14 2009 B 250 0.002896053
15 2010 B 400 0.002896053
16 2011 B 411 0.002896053
17 2012 B 420 0.002896053
18 2013 B 420 0.002896053
19 2014 B 422 0.002896053
20 2015 B 450 0.002896053