stata学习心得(网络版存盘) 2009-03-25
调整变量格式:
format x1 %10.3f ——将x1的列宽固定为10,小数点后取三位
format x1 %10.3g ——将x1的列宽固定为10,有效数字取三位
format x1 %10.3e ——将x1的列宽固定为10,采用科学计数法
format x1 %10.3fc ——将x1的列宽固定为10,小数点后取三位,加入千分位分隔符
format x1 %10.3gc ——将x1的列宽固定为10,有效数字取三位,加入千分位分隔符
format x1 %-10.3gc ——将x1的列宽固定为10,有效数字取三位,加入千分位分隔符,加入“-”表示左对齐
format x1 %10.3f ——将x1的列宽固定为10,小数点后取三位
format x1 %10.3g ——将x1的列宽固定为10,有效数字取三位
format x1 %10.3e ——将x1的列宽固定为10,采用科学计数法
format x1 %10.3fc ——将x1的列宽固定为10,小数点后取三位,加入千分位分隔符
format x1 %10.3gc ——将x1的列宽固定为10,有效数字取三位,加入千分位分隔符
format x1 %-10.3gc ——将x1的列宽固定为10,有效数字取三位,加入千分位分隔符,加入“-”表示左对齐
合并数据:
use "C:\Documents and Settings\xks\桌面\2006.dta", clear
merge using "C:\Documents and Settings\xks\桌面\1999.dta"
——将1999和2006的数据按照样本(observation)排列的自然顺序合并起来
use "C:\Documents and Settings\xks\桌面\2006.dta", clear
use "C:\Documents and Settings\xks\桌面\2006.dta", clear
merge using "C:\Documents and Settings\xks\桌面\1999.dta"
——将1999和2006的数据按照样本(observation)排列的自然顺序合并起来
use "C:\Documents and Settings\xks\桌面\2006.dta", clear
merge id using "C:\Documents and Settings\xks\桌面\1999.dta" ,unique sort
——将1999和2006的数据按照唯一的(unique)变量id来合并,在合并时对idsort命令排序进行排序(sort)
建议采用第一种方法。
——将1999和2006的数据按照唯一的(unique)变量id来合并,在合并时对idsort命令排序进行排序(sort)
建议采用第一种方法。
对样本进行随机筛选:
sample 50
在观测案例中随机选取50%的样本,其余删除
sample 50,count
在观测案例中随机选取50个样本,其余删除
sample 50
在观测案例中随机选取50%的样本,其余删除
sample 50,count
在观测案例中随机选取50个样本,其余删除
查看与编辑数据:
browse x1 x2 if x3>3 (按所列变量与条件打开数据查看器)
edit x1 x2 if x3>3 (按所列变量与条件打开数据编辑器)
browse x1 x2 if x3>3 (按所列变量与条件打开数据查看器)
edit x1 x2 if x3>3 (按所列变量与条件打开数据编辑器)
数据合并(merge)与扩展(append)
merge表示样本量不变,但增加了一些新变量;append表示样本总量增加了,但变量数目
merge表示样本量不变,但增加了一些新变量;append表示样本总量增加了,但变量数目
不变。
one-to-one merge:
数据源自stata tutorial中的exampw1和exampw2
第一步:将exampw1按v001~v003这三个编码排序,并建立临时数据库tempw1
clear
use "t:\statatut\exampw1.dta"
su ——summarize的简写
sort v001 v002 v003
save tempw1
第二步:对exampw2做同样的处理
clear
use "t:\statatut\exampw2.dta"
su
sort v001 v002 v003
save tempw2
one-to-one merge:
数据源自stata tutorial中的exampw1和exampw2
第一步:将exampw1按v001~v003这三个编码排序,并建立临时数据库tempw1
clear
use "t:\statatut\exampw1.dta"
su ——summarize的简写
sort v001 v002 v003
save tempw1
第二步:对exampw2做同样的处理
clear
use "t:\statatut\exampw2.dta"
su
sort v001 v002 v003
save tempw2
第三步:使用tempw1数据库,将其与tempw2合并:
clear
use tempw1
merge v001 v002 v003 using tempw2
第四步:查看合并后的数据状况:
ta _merge ——tabulate _merge的简写
su
第五步:清理临时数据库,并删除_merge,以免日后合并新变量时出错
erase tempw1.dta
erase tempw2.dta
drop _merge
clear
use tempw1
merge v001 v002 v003 using tempw2
第四步:查看合并后的数据状况:
ta _merge ——tabulate _merge的简写
su
第五步:清理临时数据库,并删除_merge,以免日后合并新变量时出错
erase tempw1.dta
erase tempw2.dta
drop _merge
数据扩展append:
数据源自stata tutorial中的fac19和newfac
clear
use "t:\statatut\fac19.dta"
数据源自stata tutorial中的fac19和newfac
clear
use "t:\statatut\fac19.dta"
ta region
append using "t:\statatut\newfac"
ta region
合并后样本量增加,但变量数不变
append using "t:\statatut\newfac"
ta region
合并后样本量增加,但变量数不变
茎叶图:
stem x1,line(2) (做x1的茎叶图,每一个十分位的树茎都被拆分成两段来显示,前半段为0~4,后半段为5~9)
stem x1,width(2) (做x1的茎叶图,每一个十分位的树茎都被拆分成五段来显示,每个小树茎的组距为2)
stem x1,round(100) (将x1除以100后再做x1的茎叶图)
直方图
采用auto数据库
histogram mpg, discrete frequency normal xlabel(1(1)5)
采用auto数据库
histogram mpg, discrete frequency normal xlabel(1(1)5)
(discrete表示变量不连续,frequency表示显示频数,normal加入正太分布曲线,xlabel设定x轴,1和5为极端值,(1)为单位)
histogram price, fraction norm
(fraction表示y轴显示小数,除了frequency和fraction这两个选择之外,该命令可替换为“percent”百分比,和“density”密度;未加上discrete就表示将price当作连续变量来绘图)
(fraction表示y轴显示小数,除了frequency和fraction这两个选择之外,该命令可替换为“percent”百分比,和“density”密度;未加上discrete就表示将price当作连续变量来绘图)
histogram price, percent by(foreign)
(按照变量“foreign”的分类,将不同类样本的“price”绘制出来,两个图分左右排布)
(按照变量“foreign”的分类,将不同类样本的“price”绘制出来,两个图分左右排布)
histogram mpg, discrete by(foreign, col(1))
(按照变量“foreign”的分类,将不同类样本的“mpg”绘制出来,两个图分上下排布)
(按照变量“foreign”的分类,将不同类样本的“mpg”绘制出来,两个图分上下排布)
histogram mpg, discrete percent by(foreign, total) norm
(按照变量“foreign”的分类,将不同类样本的“mpg”绘制出来,同时绘出样本整体的“总”直方图)
(按照变量“foreign”的分类,将不同类样本的“mpg”绘制出来,同时绘出样本整体的“总”直方图)
二变量图:
graph twoway lfit price weight || scatter price weight
(作出price和weight的回归线图——“lfit”,然后与price和weight的散点图相叠加)
(作出price和weight的回归线图——“lfit”,然后与price和weight的散点图相叠加)
twoway scatter price weight,mlabel(make)
(做price和weight的散点图,并在每个点上标注“make”,即厂商的取值)
(做price和weight的散点图,并在每个点上标注“make”,即厂商的取值)
twoway scatter price weight || lfit price weight,by(foreign)
(按照变量foreign的分类,分别对不同类样本的price和weight做散点图和回归线图的叠加,两图呈左右分布)
(按照变量foreign的分类,分别对不同类样本的price和weight做散点图和回归线图的叠加,两图呈左右分布)
twoway scatter price weight || lfit price weight,by(foreign,col(1))
(按照变量foreign的分类,分别对不同类样本的price和weight做散点图和回归线图的叠加,两图呈上下分布)
(按照变量foreign的分类,分别对不同类样本的price和weight做散点图和回归线图的叠加,两图呈上下分布)
twoway scatter price weight [fweight= displacement],msymbol(oh)
(画出price和weight的散点图,“msybol(oh)”表示每个点均为中空的圆圈,[fweight= displacement]表示每个点的大小与displacement的取值大小成比例)
(画出price和weight的散点图,“msybol(oh)”表示每个点均为中空的圆圈,[fweight= displacement]表示每个点的大小与displacement的取值大小成比例)
twoway connected y1 time,yaxis(1) || y2 time,yaxis(2)
(画出y1和y2这两个变量的时间点线图,并将它们叠加在一个图中,左边“yaxis(1)”为y1的度量,右边“yaxis(2)”为y2的)
(画出y1和y2这两个变量的时间点线图,并将它们叠加在一个图中,左边“yaxis(1)”为y1的度量,右边“yaxis(2)”为y2的)
twoway line y1 time,yaxis(1) || y2 time,yaxis(2)
(与上图基本相同,就是没有点,只显示曲线)
(与上图基本相同,就是没有点,只显示曲线)
graph twoway scatter var1 var4 || scatter var2 var4 || scatter var3 var4
(做三个点图的叠加)
(做三个点图的叠加)
graph twoway line var1 var4 || line var2 var4 || line var3 var4
(做三个线图的叠加)
(做三个线图的叠加)
graph twoway connected var1 var4 || connected var2 var4 || connected var3 var4
(叠加三个点线相连图)
(叠加三个点线相连图)
更多变量:
graph matrix a b c y
graph matrix a b c y
(画出一个散点图矩阵,显示各变量之间所有可能的两两相互散点图)
graph matrix a b c d,half
(生成散点图矩阵,只显示下半部分的三角形区域)
(生成散点图矩阵,只显示下半部分的三角形区域)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论