如何在Stata中从数千家公司数据里仅保留101家发过绿债的公司?
解决Stata筛选曾发行绿债公司的高效方法
不用手动处理101家公司,直接用Stata的分组统计命令就能批量标记并筛选:
假设你的数据里公司唯一标识符是company_id(请替换成你实际用的变量,比如gvkey/permno这类常用的公司代码),执行以下命令即可:
* 按公司分组,生成标记变量:该公司是否曾发行过绿债 bysort company_id: egen has_issuance = max(issuance) * 保留所有曾发行绿债公司的观测 keep if has_issuance == 1 * 可选:删除临时生成的标记变量 drop has_issuance
命令解释:
bysort company_id:把数据按公司分组,确保每个公司的所有观测被归为一组egen has_issuance = max(issuance):对每个公司组,取issuance的最大值——只要该公司有过一次发行(issuance=1),最大值就是1;从未发行过的公司,最大值为0keep if has_issuance ==1:筛选出所有曾发行绿债公司的全部观测行
这样就能自动识别出所有101家曾发行绿债的公司,一次性保留它们的所有数据,完全不用手动操作。
内容的提问来源于stack exchange,提问作者weewoo
相关产品推荐
相关产品推荐

