发布日期:2024-11-06 05:44 点击次数:108 |
二、数据清洗代码
指定使命目次
cd 文献地址 //cd是change directory的缩写,将刻下使命目次编削为指定的目次,要是数据都在该旅途下,背面的代码就不错使用数据的相对旅途而毋庸皆备旅途开放日记文献并更新
log using 文献名.log,replace //日记文献会记载扫数代码脱手的效果
导入数据
*导入excel要领文献import excel using 文献名.xlsx,firstrow clear //文献名.xlsx即是相对旅途,前边莫得cd的话,就要用文献名.xlsx的竣工文献地址,像这么:'C:\Users\10405\Desktop\文献名.xlsx'*导入txt要领文献insheet using 文献名.txt,clear*导入csv要领文献import delimited 文献名.csv, clear*导入stata要领文献use 文献名.dta,clear*导入系统数据sysuse 文献名.data删除行
drop in 1/n //删除前n行drop in n //删除第n行
给变量贴标签
label var id 股票代码 //id的标签是股票代码变量定名
*单个定名rename 股票代码 id //将股票代码改为id*批量定名rename (var1 var2 var3)(newvar1 newvar2 newvar3)
N瓜分
*敕令一:egen type = cut(Var), group(N) //将变量Var从小到大分N类生成变量type*敕令二:sort Var //升序排序generate type = group(N)*敕令三:xtile Newvar = Var, nq(N) //将变量Var从小到大分N类生成变量Newvar*按照年份大致行业生成瓜分bys year: egen Newvar=xtile(Var), nq(N)生成变量
gen Var=0 //生成值均为0的变量Vargen Varnew=Var1+Var2 //求两个变量之和gen newvar=L.var //生成滞后变量gen newvar=F.var //生成前置变量gen newvar=abs(Var) //求皆备值egen Varmax=max(Var) //求最大值egen Varmin=min(Var) //求最小值egen Varmean=mean(Var) //求平均值egen Varmedian=median(Var) //求中位数egen Varsd=sd(Var) //求范例差egen Var50=pctile(Var),p(50) //求二分位数egen Var25=pctile(Var),p(25) //求四分位数egen y=rowtotal(x*) //对扫数X开首的变量乞降
生成捏造变量
tab var,gen(newvar)生成年份变量
*年份要领为字符串型,如20170407gen year=real(substr(年份,1,4)) //提真金不怕火年份字符串中的前四位 gen month=real(substr(年份,6,2)) //提真金不怕火年份字符串中的后两位 drop if month!=12 //剔除年份不所以12月份扫尾的数据*年份要领为07apr2017型gen y=yofd(DateJoined)*年份要领为07/04/2017gen year=real(substr(年份,-4,.)) //提真金不怕火后四位字符
生成行业捏造变量
tab Industry,gen(Indu) //生成行业捏造变量,为了幸免共线性,stata会自动删掉一个捏造变量 *有些文献会单独把制造业的细分行业也生成捏造变量,就需要把前两个字符提真金不怕火出来,然后再生成行业捏造变量gen Indu=Industryreplace Indu = substr(Industry,1,1) if substr(Industry,1,1)!='C'replace Indu = substr(Industry,1,2) if substr(Industry,1,1)=='C'encode industry,gen(indu)取对数与复原对数
gen lnX=log(X) //取对数体式gen X=exp(lnX) //复原对数体式盘算除本公司外特定年份里行业其他样本的均值
sort year industrybys year industry: egen sumX=sum(X) //盘算X总额bys year industry: gen N=_N // 盘算不雅测值gen OtherX=(sumX-X)/(N-1)判断字符串有莫得包含特定字符
keep if strmatch(var, '*数字化*') //保留变量var中包含“数字化”的数据搜检变量缺失情况
misstable sum var1 var2 var3删除空白值
drop if missing(var1)删除变量
drop Var1 Var2 //删除变量Var1和Var2keep Var1 Var2 //只保留变量Var1和Var2有要求的删除数据
drop if year <2007 //示意删除年份小于2007的数据drop if id =='10' //示意删除id为10的数据删除近似的数据
duplicates drop id year,force // 删除id与year近似的数据长入各变量的不雅测数目
egen miss=rmiss(var1 var2 var3) keep if miss==0 //这个操作不错使各变量的不雅测数目保合手长入补缺失值
*单个变量补缺失值replace var=某个数值 if var==.*多个变量同期补缺失值foreach i in var1 var2 var3 {replace `i'=0 if `i'==.} *将扫数缺失值替换为0mvencode _all, mv(0) override剔除ST/*ST/PT的样本
drop if strmatch(Coname,'*ST*')drop if strmatch(Coname,'*PT*')剔除B股企业
gen B=0replace B=1 if strmatch(shortname,'*B*') //迂缓匹配,当公司称呼含有B时,把B的0值替换为1drop if B==1 //剔除B值为1的数据
剔除金融类企业
软件开发drop if strmatch(industry,'*J*')
搜检行业变更的公司
encode industry,gen(indu) bysort id: egen indumean = mean(indu)keep if indu != indumean
数据类型的编削
destring Var,replace //将字符串变量编削为数值变量tostring var,replace //将字符串变量编削为字符串变量destring var,replace force //将字符串变量编削为数值变量,要是任何字符串值看起来不是数值,则将它们编削为缺失值encode var, gen(var1) //字符串变量编削为数值变量decode **var1**, gen(var) //带标签的分类变量编削为字符串变量format var .3f //将var的列宽固定为10,少许点后取三位
生成残差
大邱坐镇主场,如同大多数K1球队一样,能够得到数据照顾,但大邱在初始给到的一档超高位就存在非常大的信任问题,机构并没有显示出对大邱理应的信心,软件开发资讯这个数据与早前大邱1:0战胜济州联的初始和走势形成鲜明对比,而济州联的市场定位明显要略高仁川联一筹,显然本场对大邱的能力存在怀疑。
predict e,residual //在牵记后用该代码可生成残差
归并数据
*横向归并merge 1:1 id year using 文献名.dta //将一个数据蚁归并到现存数据集的右侧,1:1指的是1对1匹配,1:m为1对多匹配,m:1为多对1匹配;id year 对应的是匹配变量,id是股票代码,year是年份;“文献名.dta”是匹配数据的称呼。drop if _merge!=3 //剔除莫得匹配上的数据drop _merge //剔除_merge*纵向归并append using 文献名.dta //将一个数据蚁归并到现存数据集的末尾,两个数据集接续具有或部分具有雷同的变量
缩尾与截尾
*缩尾措置winsor2 Var, replace cuts(1 99)//winsor2默许在高下1%的水平上缩尾,小于1%百分位数的数值会被1%分位数替代,99%同理;replace背面的cuts(1 99)不错不详,也不错对缩尾的高下限作念息争;replace的真义是不改变原变量称呼;*截尾措置winsor2 Var, replace cuts(1 99) trim //将小于1%百分位数和大于99%百分位数的数值替换为缺失值.*不错在replace背面加by(year)大致by(industry),按照年份大致行业来缩尾/截尾变量排序
order id year // 数据按照id,year的端正枚举order id year x* //*示意x开首的变量按照端正枚举
数据排序
*升序枚举sort Varsort id year //从小到大排序,先按id排序,再按year排序*降序枚举gsort Var声明面板数据
xtset id year大致tsset id year搜检数据
codebook //闪现变量数值散布情况inspect var //在codebook敕令的基础上进一步绘图出直方图sum Var //刻画性统计by byvars: sum var //按照分组对变量进行综合tab Var //变量频数des Var //讲明变量存储的类型、要领和标签list Var if Var>0 //闪现称心Var>0的数据duplicates list var //列出近似数据走势图
collapse (mean) Var, by(year) line Var year, ytitle('Y轴称呼')保存/导出数据
*导出sata要领save 文献名.dta, replace*导出excel要领export excel 文献名.xlsx, firstrow(var) replace*导出csv要领export delimited using '文献名', replace关闭日记文献
log close其他可能用到的功能
*脱手代码快捷键Ctrl + D //选中代码,同期按Ctrl + D键*计数count if var==0 //盘算var等于0的个数*老成代码后加//,//背面不错添加老成,不影响代码脱手*代码换行代码后加///✦点击下方眷注南博吉吉✦开发软件一般多少钱
本站仅提供存储作事,扫数实验均由用户发布,如发现存害或侵权实验,请点击举报。