Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 多次运行面板数据的回归_R_Loops_Panel_Regression - Fatal编程技术网

R 多次运行面板数据的回归

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

我想为我的面板数据运行回归。 我有以下格式的面板数据: 第1列有年份第2列有公司名称第3列有股权变量

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