《会计研究与统计软件应用.ppt》由会员分享,可在线阅读,更多相关《会计研究与统计软件应用.ppt(27页珍藏版)》请在三一办公上搜索。
1、第三讲 数据管理,字符变量的处理,字符变量转换为数值变量数值变量转换为字符变量字符变量的分解重要的字符处理函数,字符变量转换为数值变量1,从文本文档中读入的数值变量可能以字符变量的方式存储变量中可能包含了特殊符号,如金额$、逗号,、斜线/、百分比%、破折号-等,字符变量转换为数值变量2,数值观测偶尔误存为字符观测:destring例:destring year date size lev,replace ignore(-/,%“)例:destring code,gen(code2)ignore(“-/,%“),字符变量转换为数值变量3,如果没有特殊符号:real()例:gen code2=re
2、al(code),字符变量转换为数值变量4,数值观测全部存为字符观测:encode例:encode code,gen(code2)该命令自动产生“数字-文字对应表”,命令labelbook查看,数值变量转换为字符变量1,命令:tostring例:tostring year month day,replace例:tostring year,gen(year2),数值变量转换为字符变量2,函数:string()例:gen year2=string(year),字符变量的分解与合成,分解命令:split xxx,parse(x)例:split date,parse(-)合成:+例:gen a=b+c
3、例:di“I am”+“a teacher”,重要的字符处理函数,求助:help function最重要:substr()例:gen year=substr(date,1,4)注意:每个英文字母占一位,但每个中文字符占两位字符匹配函数:strmatch()例:gen a=strmatch(ind,“C”),变量创建的技巧,_n与_N虚拟变量的产生 交互项的产生egen命令,_n与_N,_n:样本序号变量,是一个变量,内容为1,2,3,.,n_N:样本数指标,是一个单值,内容为样本数_n是一个永远存在,但却不能list出来的特殊变量_n的取值会随样本排序的变化而变化,产生滞后项:gen lags
4、ales=sales _n-1产生前导项:gen lagsales=sales _n+1产生最后一项:gen msales=sales _N差分:gen dsales=sales-sales _n-1增长率:gen gsales=(sales-sales _n-1)/sales _n-1表示是否为第一/最后一项:if _n=1/if _N=1,时间序列/面板数据的滞后项、差分、增长率tsset code yeargen lagsales=l.salesgen dsales=d.salesgen gsales=d.sales/l.sales其他:f.sales l2.sales f2.sales
5、 d2.sales,分组进行:bysort ind:gen a=_nbysort ind:keep if _n=1bysort ind:keep if _N=1,虚拟变量的产生,使用-generate-和-replace-产生虚拟变量gen hsize=1 if size1000000&size.replace hsize=0 if size=1000000基于类别变量生成虚拟变量tab race,gen(dum_)xi i.race xi i.race,prefix(dum_)xi i.race,prefix(dum_)noomit因子变量默认对照组:reg wage i.race设置对照组
6、:reg wage ib3.race,等分样本:group(num)例:gen g_inc=group(5)条件函数:cond(s,a,b,c)例:gen x=cond(age50,1,0,.),交互项的产生,基本方法:generate例:gen jh=state*size因子变量的应用:i.c.#(help fvvarlist)reg roa state lev size reg roa state lev size c.lev#c.size(reg roa state c.lev#c.size)reg roa state lev i.state#c.lev size(reg roa i.s
7、tate#c.lev size)reg roa state lev nsize c.lev#i.nsize,egen命令,egen与gen的差异gen s1=sum(sales)累加egen s2=sum(sales)总体加总gen a1=(b+c)/2egen a2=rmean(b c)产生各种统计参数egen m=median(sales)/sd()mean()min()max()count()bysort ind:egen m=median(sales)egen m=meidan(sales),by(ind),资料的合并与追加,横向合并:merge例:merge 1:1 code yea
8、r using x例:merge 1:m code using x例:merge m:1 code using x纵向追加:append例:append using x,分位数,命令pctile:产生分位数,不能与by连用例:pctile x=size,nq(10)例:pctile x=size,nq(10)gen(y)命令xtile:产生所属组别,不能与by连用例:xtile x=size,nq(10)函数pctile()与xtile(),可以与by或bysort连用例:bysort year:egen x=pctile(size),nq(10)例:bysort year:egen x=xt
9、ile(size),nq(10),离群值的处理,离群值的查找:adjacent缩尾处理(winsorizing):winsor截尾处理(truncating)例:_pctile roa,percentile(1 99)drop if roar(r2),时间序列数据,声明时间序列:tsset检查是否有断点:tsreport,report填充缺漏的日期:tsfill追加样本:tsappend,add(#)日期变量的处理:help dates_and_times,面板数据,面板数据的声明:xtset重复值的查验与删除查验:duplicatesreportcodeyear删除:duplicatesdr
10、opcodeyear,force面板资料的基本描述:xtdes xtpattern统计公司数目:panels code产生连续的公司代码:-egen-group(code)处理为平行面板:xtbalance例:xtbalance,range(2000 2008)例:xtbalance,range(2000 2008)miss(size lev roa.),练习,把字符变量(日期date)分解为数值变量:年year、月month、日day根据年/月/日(年/月或年/季)生成日期变量生成新的证监会行业分类变量:制造业以前2个代码标识,其他行业以第1个代码标识计算样本中的公司家数留下每一年中每一行业的最大的一家公司生成行业中位数调整的ROA bysort csrc_w:egen roa_c=median(roa)生成以3年ROA标准差度量的经营风险变量根据最终控制人性质生产国有产权虚拟变量state学习在回归中使用交互项,从CSMAR中下载财务数据、公司治理数据与基本信息数据,并合并这些数据将样本按规模大小分为5组并生成分组变量按ROA的1%与99%分位数进行winsorizing 和truncating练习日期变量的生成与转换练习面板数据的基本描述、重复值的查验与删除、处理为平衡数据,