Stata:用滞后的y变量衡量x变量
我试图用另一个滞后变量来衡量一个变量 (IB)按滞后总资产(AT)=ROA进行缩放 我试过下面两种方法 及 第一个返回时,1.ta的值为零 第二个似乎在前一个条目上生成值,即使它是另一家公司。我认为这是正确的,因为只有第一行缺少值。我认为每个公司的第一年都应该有一个缺失值 此外,我在下面尝试了这段代码,但它表明语法无效Stata:用滞后的y变量衡量x变量,stata,Stata,我试图用另一个滞后变量来衡量一个变量 (IB)按滞后总资产(AT)=ROA进行缩放 我试过下面两种方法 及 第一个返回时,1.ta的值为零 第二个似乎在前一个条目上生成值,即使它是另一家公司。我认为这是正确的,因为只有第一行缺少值。我认为每个公司的第一年都应该有一个缺失值 此外,我在下面尝试了这段代码,但它表明语法无效 xtset gvkey year foreach gvkey { gen roa = (ib)/(at[_n-1]) } 我使用的是compustat,因此它类似于以下内容:
xtset gvkey year
foreach gvkey {
gen roa = (ib)/(at[_n-1]) }
我使用的是compustat,因此它类似于以下内容:
gvkey|Year |Ticker | at | ib |
-------|-----|--------|------|------|
001111| 2006| abc |1000 |50 |
001111| 2007| abc |1100 |60 |
001111| 2008| abc |1200 |70 |
001111| 2009| abc |1300 |80 |
001112| 2008| www |28777 |1300 |
001112| 2009| www |26123 |870 |
001113| 2009| ttt |550 |-1000 |
001114| 2010| vvv |551 |-990 |
这很难理解
1.ta
可能是,也可能不是L.at
的打字错误
是gvkey
字符串吗?在Stata标签中,有关于如何给出Stata数据示例的详细建议,您没有遵循这些建议
原则上,您的第一种方法是正确的,因此很难知道出了什么问题,除了
值,即使
这是一家不同的公司
xtset
或tsset
信息
foreach
语句只是胡乱猜测,与foreach
支持的任何形式无关<这里根本不需要code>foreach:lag操作符意味着自动在面板内工作李>
我这样做了,这可能会有所帮助
clear
input str6 gvkey Year str3 Ticker at ib
001111 2006 abc 1000 50
001111 2007 abc 1100 60
001111 2008 abc 1200 70
001111 2009 abc 1300 80
001112 2008 www 28777 1300
001112 2009 www 26123 870
001113 2009 ttt 550 -1000
001114 2010 vvv 551 -990
end
egen id = group(gvkey), label
xtset id Year
gen wanted = at/L.ib
list, sepby(gvkey)
+------------------------------------------------------------+
| gvkey Year Ticker at ib id wanted |
|------------------------------------------------------------|
1. | 001111 2006 abc 1000 50 001111 . |
2. | 001111 2007 abc 1100 60 001111 22 |
3. | 001111 2008 abc 1200 70 001111 20 |
4. | 001111 2009 abc 1300 80 001111 18.57143 |
|------------------------------------------------------------|
5. | 001112 2008 www 28777 1300 001112 . |
6. | 001112 2009 www 26123 870 001112 20.09462 |
|------------------------------------------------------------|
7. | 001113 2009 ttt 550 -1000 001113 . |
|------------------------------------------------------------|
8. | 001114 2010 vvv 551 -990 001114 . |
+------------------------------------------------------------+
您引用的Statalist线程准确地解释了为什么第二种方法是个坏主意。
gvkey|Year |Ticker | at | ib |
-------|-----|--------|------|------|
001111| 2006| abc |1000 |50 |
001111| 2007| abc |1100 |60 |
001111| 2008| abc |1200 |70 |
001111| 2009| abc |1300 |80 |
001112| 2008| www |28777 |1300 |
001112| 2009| www |26123 |870 |
001113| 2009| ttt |550 |-1000 |
001114| 2010| vvv |551 |-990 |
clear
input str6 gvkey Year str3 Ticker at ib
001111 2006 abc 1000 50
001111 2007 abc 1100 60
001111 2008 abc 1200 70
001111 2009 abc 1300 80
001112 2008 www 28777 1300
001112 2009 www 26123 870
001113 2009 ttt 550 -1000
001114 2010 vvv 551 -990
end
egen id = group(gvkey), label
xtset id Year
gen wanted = at/L.ib
list, sepby(gvkey)
+------------------------------------------------------------+
| gvkey Year Ticker at ib id wanted |
|------------------------------------------------------------|
1. | 001111 2006 abc 1000 50 001111 . |
2. | 001111 2007 abc 1100 60 001111 22 |
3. | 001111 2008 abc 1200 70 001111 20 |
4. | 001111 2009 abc 1300 80 001111 18.57143 |
|------------------------------------------------------------|
5. | 001112 2008 www 28777 1300 001112 . |
6. | 001112 2009 www 26123 870 001112 20.09462 |
|------------------------------------------------------------|
7. | 001113 2009 ttt 550 -1000 001113 . |
|------------------------------------------------------------|
8. | 001114 2010 vvv 551 -990 001114 . |
+------------------------------------------------------------+