【问题标题】:Running regression many times of panel data [closed]多次运行面板数据的回归[关闭]
【发布时间】:2016-03-16 06:43:48
【问题描述】:

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

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 loops panel regression


    【解决方案1】:

    目前看不到您已经尝试过什么,所以这里有一个解决方案可以让您启动并运行。您草拟的最终输出实际上没有意义,因为您对每个公司都有一个斜率 - 而不是每个公司每年的斜率。

    这是用于运行回归的基本 R 版本。 by 用于分割数据,然后lm 用于估计。

    res <- by(indata, indata$company, FUN=function(x) { coef(lm(log(EQUITY) ~ Year+0, data=x))} )
    

    这导致以下斜率输出,输出可用于绘图或列出

    > res
    
    indata$company: A
    [1] 0.001344837
    ------------------------------------------------------- 
    indata$company: B
    [1] 0.002896053
    

    更新

    如果您想将每年的坡度添加到数据集中,您可以添加

    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
    

    【讨论】:

    • 谢谢。我想要每年相同的斜率值......我们可以做到吗?
    • 如果“我们”=“我”,那么是的。查看更新的答案
    • 谢谢。但是我可以每年都有相同的 valye 吗?例如。如果 A 公司的值为 12.34。那么对于 2006-2015 年的每一年......这个值 (12.34) 都会到来。
    • 斜坡就是这样做的
    • 是的,但是我可以在每年都有相同的值吗...而不是为每个公司拖动/复制...因为我的数据集需要相同。
    猜你喜欢
    • 2021-01-20
    • 2017-03-12
    • 2019-02-18
    • 1970-01-01
    • 2021-08-05
    • 2018-05-06
    • 2021-08-25
    • 2021-09-26
    • 1970-01-01
    相关资源
    最近更新 更多