【发布时间】:2018-08-24 20:56:44
【问题描述】:
我是 Stata 的新用户,我正在尝试了解它是如何执行命令的。我在将数据从当前格式重组为面板数据格式时遇到了麻烦。
我正在使用公司级别的微数据,例如,包含公司 ID、上一可用年份(从该公司收集数据的最新年份)和营业额(REV_LAY-0 = 上一可用年份的营业额 - 0 , REV_LAY-1 = 上次播出年份的营业额 - 1 等等)。
目前的数据格式如下:
所需的面板格式如下所示:
在 SAS 中,我会循环执行以下操作:
if last_avail_yr=2016 then do;
rev_2016=rev_lay-0;
rev_2015=rev_lay-1;
rev_2014=rev_lay-2;
rev_2013=rev_lay-3;
end;
但我不太确定如何做到这一点。我尝试使用带有forvalues 循环的if 语句来实现类似的结果,但效果不佳。
示例数据如下:
MARK BvD_ID LAST_AVAIL_YR REV_LAY0 REV_LAY1 REV_LAY2 REV_LAY3 REV_LAY4
437 ESA22001721 2016 27689 32097 28992 35868 36493
438 ESF23212103 2015 26786 52095 33023 29493 40368
439 ESB45426806 2012 22072 14864 12877 15330 6403
440 ESA45039294 2015 26700 23387 21104 21272 20002
441 ESB76638790 2016 27480 24303 10699 . .
谁能帮我解决这个问题的Stata代码?
【问题讨论】:
-
请像 SAS 代码一样发布示例数据,作为其他人可以复制和粘贴的文本。 statalist.org/forums/help#stata 的指南通常也适用于此。
-
我在我的帖子中发布了示例数据。正如 Mauricio 指出的那样,问题中描述的变量名称在 stata 中不是有效名称。我把名字这样写是为了让问题更清楚。
-
我还是很不清楚。例如,我在上面没有看到
firm_id,但它在你的图片中,@Mauricio 指的是它。 -
firm_id 是 BvD_ID,很抱歉更改了变量的名称,没有在帖子中说清楚
标签: stata panel-data