作为一个跨专业过来的小博,感觉与专业学经济出身的同学差距挺大的,很多东西都得下工夫补上。 这不,为了写毕业论文,入手了一套98-07的中国工业企业数据库,利用这个暑假打算将数据库整理好,以便以后的写作随时调用。作为一个小白,计量软件只会STATA,并且是很简单的回归应用,只能看懂小部分简单程序,想要入手这套数据库虽然已经做好心理准备,但困难却超出了预期。我将工作分为了三个阶段: 第一个阶段:数据转化成DTA格式,我只会STATA
第二个阶段:数据重复值、缺省值等的处理和数据匹配等数据加工
第三个阶段:用数据计算出回归可用的各种变量,例如集聚度、全要素生产率等等。
当我完成每个阶段,我计划将自己处理过程分享一下,虽然不知道自己会卡在那个过程。
先说说手头的数据和工具: 数据:ACCESS格式的工业企业数据库
工具:STATA.14
电脑配置:I5-5200U,2.2GHZ,4G
第一阶段问题:将数据库转化成能输入STATA的DTA格式
(1)首先想到的是STAT TRANSFER这个软件,然后下载了STAT TRANSFER9,免安装的,但跑完发现这个版本不能转化汉字,汉字转化出来基本就是乱码。因此选择最新的STAT TRANSFER12,但转化的时候发现要处理的每年的数据样本在16万-33晚之间,超出了这个软件的处理上限,然后用这个软件转化的可能性算是没有了。
(2)再次想到的方法是复制黏贴的方法,发现ACCESS不能直接往STATA里粘贴,于是新建EXCEL,在数据里导入ACCESS,发现用WPS可以很完整的将其导入EXCEL,这样就将ACCESS转化成了EXCEL,然后再往STATA复制黏贴,1999-2004可以很好的粘贴进STATA,但2005-2007则出现了数据样本凭空多出来10-50个样本,后来发现,原来是粘贴进STATA时候,有的数据样本被分成了两行,产生了数据错位,考虑到数据的完整性,这种方法也否决了。
(3)看论坛上说可以转化成CVS或者XML格式然后倒入STATA,于是从EXCEL格式转化成这两种格式的表格,然后再STATA里导入,发现CVS格式可以很快的完成,但汉字部分无法转化,是乱码;而XML格式一点击导入,则出现软件没反应,根本跑不动,将电脑开着一天也还是没反应,以为电脑太差,于是去电脑装配店用I7-7700K,16G的电脑跑,一个多小时依旧纹丝不动。看来这两种方法也废了。
(4)最后只好将2005-2007年的数据以EXCEL格式导入STATA,但被提示最大只能一次性导入40M的数据,没办法,只好将数据分割成小于40M的几个表格,分别导入转化成DTA格式,然后将每个样本生成一个id,用以下MERGE命令合并起来:
merge 1:1 id using filename.dta,force
合并以后很多变量类型会变成STRING格式,然后利用destring命令转化回来,检查了各年样本数量,与ACCESS格式是一致的,用LIST命令抽查三段每段100个样本的数据,发现没错误,觉得输入应当没有错误了。值得注意的是,STATA14可以识别汉字的变量,因此分表格时候可以直接复制汉字变量就可以了。
至此,第一阶段算是完成了,前后由于中间有很多琐事,用了一周的时间。