Q4:坛友ZahaH:
我在处理工业企业调查数据时,碰到如下问题请教李教授:
,我发现数据的代码好多是X2553309X、21859362X等形式,当我通过real()函数把字符形式转化成数字形式之后,这些带字母形式的代码全部变成了缺失值,这时候我应该怎么办呢?
第二,我发现每一个省份的代码都不规则,好像每一个省份的公司代码都是从小到大排列的,但还夹杂着一些带字母的代码,不像我们从CSMAR等下载的数据代码是从小到大排列的,这时候我要进行回归之前,会tsset id year一下,那么这个时候是不是所有的公司都不在按照省份的顺序排列,而是完全按照全国所有的公司的代码从小到大排列啊,这样的话,那些带字母的代码没法识别大小啊,这些代码该怎么办呢?
谢谢李教授 A4:
这个问题我请我的学生徐鑫来回答,他现在是香港大学中国管理研究中心的助理研究员。
因为帮李老师做了工业企业调查数据的一些处理,这个问题就由我来代李老师回答一下吧。
问题1:这些代码是国家给企业的法人代码,并不是全部由数字构成,虽然绝大多数是由数字的。正如你所说的,在这里不能直接使用real()函数进行数值化处理。但可以使用egen命令下的group()函数,给每一个代码赋予一个新的数值型编号。命令如下:
egen id=group(firm_id)
这样后续进行tsset(xtset)时就可以了。需要注意的是,egen id=group(firm_id)这个命令一定要在合并多年的数据之后进行,这样才能保证在不同年份中同一家企业拥有了相同的id。
问题2:不同公司的法人代码理论上是不一样。但由于公司类型变更、重组、破产、新设、统计失误等原因,导致代码中有一定的重复,但比例较小,可考虑将这不部分公司剔除,如果想更加地匹配样本,可以看下这样两篇文章:
1.聂辉华, 江艇, & 杨汝岱. (2012). 中国工业企业数据库的使用现状和潜在问题. 世界经济, 5, 142-158.
2.Brandt, L., Van Biesebroeck, J., & Zhang, Y. (2012). Creative accounting or creative destruction? Firm-level productivity growth in Chinese manufacturing. Journal of Development Economic, 97(2), 339-351.
tsset id year (或者更严格的命令应该是 xtset id year)此命令用于设置面板数据,至于说数据内部的排列方式,对于计算结果是没有影响的,不必纠结于省内的排序方式和全国的排序方式。
希望对你有帮助。
Q11:坛友309:
李老师好,我是财大的学生(已毕业),听过你在文泉楼进行的暑期培训
毕业论文流动性同步性就是参考您论文写的,还被评为论文,哈哈哈,真心感谢李老师
既然答疑已经结束,我就提一个小建议:
前些日子看到stata协会还在用excel 协助导入批量代码做循环
其实是可以用local list : dir . files 这类命令,更为简单 A11:
是的,我们有两个版本,一个是用excel协助将文件名弄出来,这个很直观,另一个是你提及的用local extend function,这个不直观,很多人不理解,所以很少讲,但这一方法我跟推崇。
Q12:坛友ZahaH:
李老师,你在2012年发在《经济研究》的文章中,提到使用区域—行业平均值作为对应变量的工具变量,那么请问李老师,命令是这样的吗?bysort year Province industry:egen mean_x=mean(x) ,其中x是变量名称。同时我想咨询这种寻找工具变量的方法是不是具有普适性呢?
第二,另外,您用的较多的寻找工具变量的方法是什么呢?
谢谢您的分享 A12:
找工具变量很难,这是艺术,甚至不是科学了,当时我follow了Fisman and Sevenson(2007)的文章吧,不过近年来,工具变量也越来越不受欢迎,学者们越来越喜欢的方法是Diff-in-Diff,比如Lin Chen的许多文章。