你的位置:开发软件一般多少钱 > 软件定制开发 > 开发软件一般多少钱 基本有效的Stata代码:数据清洗

开发软件一般多少钱 基本有效的Stata代码:数据清洗

发布日期: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的个数*老成代码后加//,//背面不错添加老成,不影响代码脱手*代码换行代码后加///

✦点击下方眷注南博吉吉✦开发软件一般多少钱

本站仅提供存储作事,扫数实验均由用户发布,如发现存害或侵权实验,请点击举报。