stata操作

眉间皱痕 提交于 2020-11-18 23:57:58
//stata操作
*************************数据基本操作******************************
gen varname = value  //定义变量
replace varname = newvalue if ...  //修改满足条件...的varname的值
drop(varname)    //删除varname变量
sort (var)       //按var升序排列
gsort -var       //按var降序排列
strlower("string") //将string字符串都改为小写
strupper("string") //将string字符串都改为大写
strproper("string") //将string字符串每个单词的首字母都大写
keep if ... //保留满足条件...的数据 qui ... //隐藏...执行过程 return list //返回操作结果列表 list var1 var2 //以列表的形式显示var1 var2的值 summarize(var),detail //统计var在表中的一些数学值信息(最大最小、分位数、和....) l.var //当前var值的前一个var值 gen newname=substr(varname,cut-begin,cut-length) //截取字符串 destring varname,generate(newname)|replace float //字符串转换数值(generate or replace) encode varname,generate(newname) //将字符转化为数值但显示valuelabel(字符值) clear //清除数据 set more off //自动显示所有过程
mkdir filename //建立文件夹
forvalues i = a/b //i值从a-b循环,包括a b foreach i in a b c d //i值依次等于a b c d
foreach i of var varname //i值依次遍历varname列表

egen newvar = std(var) //z标准化处理
`var' //引用var的值 ******************************************************************** ************************坐标轴隐藏*********************************
yscale(off)
xscale(off)
*******************************************************************
************************字符型横坐标设置**************************** gen var = _n label val var varlabel //为var添加显示的varlabel label define varlabel 1 "value1" 2 "value2" //var值为1时,varlabel=value1 //此时,使用var作为横坐标参与画图 设置xlabel(range,valuelable) 即可 ******************************************************************** *****************************数据补全******************************* teset var,newvar tsfill,full //显示缺值 replace varname = newvalue if varname = . //补充缺值 ******************************************************************** **************************文件读取与输出**************************** use dtaname.dta,clear //引用dta文件 import delimited csvname.csv,encoding(utf8) clear //引用utf8编码的csv文件 export delimited filename //输出数据到filename.csv中 graph export name.png/.tif , as(png/tif) replace save filename.dta //文件保存 ******************************************************************** *****************************=中文转码****************************** unicode analyze name.csv unicode encoding set gb18030 unicode translate name.csv,transutf8 ******************************************************************** ******************************图形合并****************************** graph combine 1.gph 2.gph 3.gph ,ycommon xsize() ysize() graphregion(fcolor(white)) cols() rows() //x|ysize 组合图形的宽度长度 //缺点:没有图例操作 //如有对图例的特殊操作可使用 grc1leg ,使用前需先安装grc1leg第三方包 grc1leg 1.gph 2.gph,ycommon graphregion(fcolor(white)) pos(6) //grcleg有且尽可能使用1.gph的图例,若2.gph图例与1.gph不同。可在1.gph中增加相应颜色的线作出图例后手动hide多于的线 ******************************************************************** ***********************各类图形绘制(主用twoway)*********************
//坐标轴以及网格线去除方法
yscale(off) xscale(off) ylabel(,nogrid) xlabel(,nogrid) //直线line (twoway) line y_1 [y_2 y_3 ...] x,lcolor() lwidth() lpattern(dash) //lpattern(dash)画虚线时使用 //带点的线 (twoway) scatter y x ,connect(1) lcolor() mcolor() //connect(1)表示点用直线连接 mcolor()点的颜色 //柱状图 twoway bar y x ,barw() color() //多类型图 twoway (line y x)(bar y x) ,title() legend() saving() //saving保存为gph格式 //部分option设置 //横、纵坐标设置 x|ytitle(" ",size()) x|ylab(start(step)end|#length|none,labsize() format(%-9.2f) valuelabel angle(45)) //标题设置 title("",position(#)) //1<=#<=12 ,钟表方位 //背景颜色设置 graphregion(fcolor(white)) //legend设置 legend(off) //不显示图例 legend(symx() symy() cols()|rows() label(1 " ") label(2 " ") order(1 2 3) position(#) ring(0)) //symx|y 图标的宽度|长度;order 需要显示的图标;label 需要显示的图例;ring(0) 图例在坐标轴内 ******************************************************************* ******************************************************************* //平稳性检验 dfuller / pperron / kpss
*******************************************************************

********************统计某一变量各个变量值的出现次数*******************
//先将key_word列所有字符都转化为小写
foreach i of var key_word{
    replace key_word = strlower(key_word)
}
//按照key_word首字母顺序排列
sort key_word
//统计每个key_word出现的次数
duplicates tag key_word,gen(frequency)
replace frequency = frequency + 1
//删除变量中相同的值(可同时考虑多个变量)
duplicates drop x  y, force
*****************************************************************

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!