全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1578 4
2022-10-10
悬赏 100 个论坛币 未解决
各位老师:已有学者针对中国工业企业数据库中的企业进入退出进行定义:如果企业i在第t-1期不存在,而在第t期存在,则i为第t期进入的;如果在第t-1期存在,而在第t期及之后时期不存在,则i为第t期退出的;其余为则为在位状态。

求助:这三个变量如何在Stata中进行变程筛选出来。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2022-11-16 14:43:50
您好,请问您会了吗
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-12-9 15:32:14
不知天上宫阙/ 发表于 2022-11-16 14:43
您好,请问您会了吗
您好 这个最后实现了吗,我也遇到了同样的问题
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-12-9 20:40:26
有示例数据么?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2024-10-21 03:58:04
要在Stata中根据上述定义筛选出企业进入、退出和在位的状态,您可以按照以下步骤操作:

1. **加载数据**:
   假设您的数据库已经载入到Stata中,并且有一列标识企业ID(例如,`firmid`)以及每年的数据。

2. **创建时间变量**:
   确保您有年份的标识符。如果没有明确的时间序列标签,请创建一个(例如,`year`)。如果数据是按年度录入的,则应该已经有这样的字段。

3. **排序数据集**:
   使用 `sort firmid year` 命令对数据按照企业ID和时间进行排序。这样可以确保Stata能够正确地比较相邻年份的数据。

4. **生成滞后变量**:
   要检查企业在前一年是否存在,您需要创建一个滞后版本的`firmid`标识符。使用 `by firmid: gen lag_firmid = cond(_n == 1, ., _n-1)'th firmid'` 命令可以生成这个变量。
   
   更简化地,您可以直接使用Stata的`egen`命令中的`lag()`函数来创建滞后变量:
   ```stata
   by firmid: egen lag_firmid = lag(firmid)
   ```

5. **定义状态**:
   使用 `if` 语句和条件逻辑创建三个新的虚拟变量,分别表示企业进入(`new_enter`)、退出(`exit`)和在位(`persist`)的状态。

   ```stata
   gen new_enter = (lag_firmid == . & firmid != .)
   gen exit = (lag_firmid != . & _n == 1 | lag_firmid != . & cond(firmid[_n+1],firmid[_n+1]==.,1))
   by firmid: egen persist = tag(1)
   replace persist = 0 if new_enter == 1 | exit == 1
   ```

6. **清理数据**:
   检查并确认新的状态变量是否正确反映了企业的进入、退出和在位状态。您可能需要通过 `tabulate` 命令或直接观察部分数据来验证这些新变量的准确性。

7. **最终检查与分析**:
   最后,您可以使用这些新创建的状态变量进行更深入的数据探索或者经济分析。

请注意,在定义退出状态时,上述代码假设了数据集是按时间排序且没有缺失值。如果您的数据中存在间断或空缺年份,则可能需要进一步的逻辑处理来准确判断退出状态。

这只是一个基本示例和指导思路,具体实现可能需要根据您数据的具体结构和需求进行调整。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群