零基础小白STATA数据分析实用常见命令整理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
零基础⼩⽩STATA数据分析实⽤常见命令整理
STATA基础⼊门零基础实⽤命令整理
第⼀章数据的读⼊与熟悉
1.读⼊⽂件中的部分变量
. use[变量] using [⽂件名]
Eg . use age sex height weight using [⽂件名]
2.读⼊⽂件中的部分观察量
. use[⽂件名] in X/Y
. use "I:\stata\chapter3.dta" in 601/1000
软件只读⼊从第601个观察到第1000个观察之间的400个观察量
3.描述、管理数据的基本命令
命令功能
. describe描述数据的基本情况:样本总量、变量总数、
变量的格式等
. list
. list [变量名]-列出数据中所有变量的分布,从第⼀个样本到最后⼀个样本
-列出选定变量的分布
. list [变量名] in X/Y 列出数据中被选定的变量分布。
in限定数据的
观察值范围。
⽐如,若只想查看第100个-200
个观察值的分布,则将X/Y替换成100/200
. order [变量名]按选定变量排序。
⽐如,样本的编号、年龄、
性别、教育程度,……,等
. aorder 将所有变量从 a-z 排序
. label variable给变量贴上标签
命令功能
. sort [变量名] -将某个变量的数值进⾏排序。
⼀般情况下,排
序的⽅式是从⼩到⼤
-可同时排序多个变量
-Stata将缺失值描述为最⼤数值,故排列在最后. sort [变量名] [in] 对某些变量的某个取值范围进⾏排序;没有指定的取值范围保持在原地⽅
. gsort [+|-][变量名] -可从⼩到⼤和从⼤到⼩
-若变量名前没有任何符号或加上+号,则按升序
排列;若在变量名前加上-号,则按降序排列
-变量可以是数值型、也可以是字符型
. gsort [+|-][变量名] ,mfirst -mfirst指定将缺失值置于所有有效数值之前. gsort -age
第⼆章变量的⽣成与处理
1.离散和连续测量
离散⽅式(discrete measure):由定性测量和定序测量组成;适⽤于低层次数据
连续⽅式(continuous measure):由定距测量和定⽐测量组成。
适⽤于⾼、低层次数据
2.Stata有四个基本的⽣成和修改变量的命令:gen、egen、replace和recode
. gen和egen分别是generate和extended generate的缩写,它们⽤于⽣成新变量
. replace和recode⽤来改变现存变量的属性或数值
. replace需要与gen⼀起使⽤;⼆者的区别在于,gen⽤于⽣成新变量,replace ⽤于重新定义已经存在的变量. recode也可以与gen⼀起使⽤
3.变量⽣成的规则
数值型变量的缺失值⽤⼀个实⼼⼩圆点(.)或在26个字母前加⼀个实⼼⼩圆点(如.a, .b, .c,……,.z)表⽰。
字符型变量的缺失值以双引号表⽰,引号中什么也没有。
4.系统变量_n
系统变量_n表⽰每个观察值的位置(numbering observations)。
其原则是:当前观察值:[n]
总观察值(最后⼀个观察值[_n]):[N]
第⼀个观察值:[1]
最后⼀个观察值:[N]
滞后⼀个(lag)观察值:[n-1]
前移⼀个(lead)观察值:[n+1]
第27个观察值:[27]
Eg.每个孩⼦在省内的排序
步骤1:Sort province
步骤2:By province:gen order=_n
5.系统变量_N
系统变量_N代表样本总数。
最后⼀个样本_n即是_N
Eg.使⽤前⾯的数据,看看每个省共有⼏个孩⼦在样本中
步骤1:sort province
步骤2:. by province: gen ceb=_N
6.滞后变量和移前变量
⽣成滞后(lag)变量或移前变量(lead)作为数据扩充
gen a = b[_n-1]
gen a = b[_n+1]
①:需要⽣成的新变量的名称
②:现有变量的名称
③:将现有变量的取值下移⼀⾏([_n-1])或前移⼀⾏([_n+1])的基本命令
使⽤系统变量_n或_N检查重复样本
第⼀步:对关键变量(ID )进⾏排序
第⼆步:使⽤_n 或_N 将该ID 的数值下置⼀⾏,如果下置的数值与当前ID 相等的话,则该样本是重复样本
Eg.sort IID2016
drop order
gen order=_n
count if IID2016[_n]== IID2016[_n -1]
7.⽣成字符型变量
Eg.gen boy="nanhai"
在字符型变量中,“=”后⾯表达式的内容需置于双引号中
并不是每个样本都是男孩,故需替代上述命令的部分结果
. replace boy="nvhai"if girl==1
命令replace 与if 条件句相结合,改变变量的取值。
当变量girl 的取值为1时,将变量boy 的取值替换为nvhai ,其他值不变定义缺失值
. replace boy="none" if boy==" "
8.⽣成数值变量
. recode [原变量] ([原变量取值] = [新变量取值]) *= [其他取值], gen [新变量]
Eg.drop edu
. recode yrsch 0=0 11=1 12=2 13=3 14=4 15=5 16=6 21=7 22=8 23=9 24 27=10 25 28=11 26 29=12 31=13 32=14 *=.,gen (edu)
该命令在原变量yrsch 的基础上⽣成⼀个新变量(edu)
新变量对原变量的取值重新编码。
原变量照旧保存着
若⽆gen (edu )部分,则仅取代原有变量的取值
*表⽰所有其他没有列出的数值(others )
9.基本运算符及含义
逻辑关系:!~竖 & 否否或和 10.⽣成分组变量:不重原则 Eg.按年龄划分成四组,分别是0~4 5~9 10~14 15及以上 gen agegrp=0 . replace agegrp=1 if age>=0 & age<=4 . replace agegrp=2 if age>=5 & age<=9 . replace agegrp=3 if age>=10 & age<=14 . replace agegrp=4 if age >=15 . replace agegrp=. if age == . egen agegrp = cut(age), at(0,5,10, 15,20)
11.⽣成虚拟变量
⽅法1:gen [新变量名] = b [限制条件]
Eg. gen xiaoxue = edu<7或. gen xiaoxue =edu<=6或. gen byte xiaoxue = edu<7或. gen byte xiaoxue =edu<=6
⽅法2:gen [变量名] =1 if[取值为1的限制条件]
. replace ([变量名]=0 if[取值为0的限制条件] 关系(Relational)符号=使等号左边的值等于等号右边的值;不能⽤于“if ”命
令中;可⽤于“gen ”命令中;可⽤于取代原来的值==等于;等号左边的值是否等于等号右边的值!=不等于,相当于~=<⼩于>⼤于>=⼤于或等于<=⼩于或等于
Eg.replace xiaoxue = . if edu == . (注意空格以及edu后两个等号)
12.使⽤egen⽣成分类变量
egen[新变量名]=cut[旧变量名],at[旧变量取值的下限]
at()指名每个组群的最⼩值
Eg.将年龄分为四组,如2-6岁7-12岁13-20岁
Egen agegrp1=cut (age),at(2,7,13,21)(注意括号和逗号)
13.使⽤egen变量⽣成某⼀变量的均值变量
egen a_mean = mean(a), by(b)
该命令⽣成的变量是按变量b的分类计算的均值
egen avg=rmean(b c)
这⾥,rmean告诉Stata,⽣成⼀个变量b和c的⾏均值变量(avg),忽视缺失值。
不可与选项by连⽤
若在rmean的后⾯指定两个变量,某个变量的⼀些观察值有缺失值,则Stata 按照没有缺失值的样本计算均值
Eg.⽣成家庭的平均⾝⾼作为新变量
egen hgtmean=mean( height ),by( hhid )
egen还可以是⽣成其他统计量,包括min(最⼩值)、max(最⼤值)、sd (标准偏差)、median(中位数)、kurt(峰度)、iqr(四分位差)等在计算统计量时,egen可以与by选项连⽤
14.给数据、变量和变量的属性贴标签
对数据库作说明
Eg . label data "Chapter4;创建于2006年9⽉,最近的修改⽇期为2007年1⽉“
引号⾥的内容是对数据库说明的具体内容
给变量下定义
Eg . label variable province “被调查省份“
引号⾥的内容是变量的标签
给变量的属性下定义
步骤1:给变量的取值贴标签
. label define urban 0 "rural" 1 "urban"
步骤2:将取值标签指定给变量
. label values urban urban
步骤3:数值与标签(可有可⽆)
. numlabel urban, add mask("#. ")
第三章数据的合并与转换
1.数据合并类型
增加观察值(即样本量):纵向合并
若有⼀个城市⼉童数据和⼀个农村⼉童数据,⼆者的内容基本相同
可进⾏独⽴分析或整合后作为整体样本的次样本分析
增加变量:横向合并
若有⼀个社区数据和⼀个家庭数据,家庭寓于社区中,若想将⼆者合⼆为⼀,从⽽使家庭数据包含社区的基本特征,则需将数据进⾏横向合并
2.数据合并的概念
主要数据(Master dataset):指当前在Stata界⾯的数据,⼜称当前数据(current dataset)、窗⼝数据或记忆空间数据
使⽤数据(using dataset):指当前不在Stata界⾯、但⾏将被合并到当前数据的数据,也称辅助数据。
该名词主要⽤于数据的合并
关键变量(Key variables),也称标识符(identifiers)或合并变量(match variables):横向合并的专有词汇,⽤来合并两个数据的变量。
该变量必须同时存在于主要数据和使⽤数据中,且在使⽤前必须排序。
主要变量可以是⼀个,也可以是两个或多个
3.纵向合并
. append using [使⽤数据的路径和名称]
②:使⽤数据的路径和名称(⽬前记忆空间的数据是主要数据)
. append using [使⽤数据的路径和名称], keep[变量名]
①
①:在合并使⽤数据时,只保留keep后⾯指定的变量
/doc/0e9d8fb6beeb19e8b8f67c1cfad6195f312be82d.html e "E:\stata\Chapter5_umerge.dta"(使⽤数据) describe
use "E:\stata\Chapter5_rmerge.dta", clear(主要数据)
describe
append using "E:\stata\Chapter5_umerge.dta"
describe
list
*sort mothid
save "E:\stata\Chapter5_rumerge.dta",replace
4.横向合并
横向数据合并中,主要数据和使⽤数据都必须按照主要变量进⾏排序,否则合并⽆法进⾏,还会得到错误的提⽰,纵向数据合并⽆需对哪个变量进⾏排序横向数据合并需要关键变量,纵向数据合并⽆需关键变量
.append将两个变量类似、但观察个案不同的数据整合在⼀起;.merge将具有不同变量的两个数据整合在⼀起
步骤:
先看使⽤数据:
. use [⽂件路径名称]
. sort [关键变量]
. save [⽂件路径名称], replace
再看主要数据:
. use [⽂件路径名称]
. sort [关键变量]
. merge [关键变量] using [⽂件路径名称], keep [变量]
关键变量即为sort后⾯的变量;利⽤该变量匹配两个数据
⼀对⼀合并
每个⽂件中同样的观察值合并
Eg.先对主要数据使⽤数据use sort关键变量
merge husbid using "I:\stata\hhwk_husb00.dta", unique
(unique只适⽤于⼀对⼀合并)
⼀对多合并
merge mothid using “I:\stata\ru_merge.dta”,uniqmaster
多对⼀合并
merge mothid using "I:\stata\muqin_merge", uniqusing
选项unique:只能⽤于使⽤关键变量的⼀对⼀的合并中。
⼀对多的合并可以使⽤uniqmaster 选项;多对⼀的合并可以使⽤uniqusing 选项。
6.样本的取舍
keep if _merge==3
Or . drop if _merge ==1 | _merge ==2
(N observations deleted)
这样实际上是去掉了两个原始数据中不匹配的观察值。
剩余的观察值就是在两个⽂件中都有的
7.重复值问题
⽅法1:sort[关键变量]
List [关键变量] if[关键变量]=[_n-1]
⽅法2:sort [关键变量]
By [关键变量]:assert_N==1
⽅法3:duplicates report [关键变量]
⽅法4:isid [关键变量]
⽅法5:tab [关键变量](当观察值不多时使⽤)
8.数据的转换
从长数据到宽数据的转换
reshape wide [转换的变量], i[观察值的标识符] j[次标识符]
③:选项i及括号内的变量⼀起,指定观察值的标识符,或取值独⼀⽆⼆、代表每个逻辑观察值的变量。
在家庭户数据中,每个家庭构成⼀个逻辑观察值
④:选项j及括号内的变量⼀起,指定观察值的次标识符,或在每个逻辑观察值中,其独⼀⽆⼆的取值代表每个次观察的变
量。
在家庭户数据中,次观察即每个家庭中的个体。
它也告诉Stata,在⽣成新变量的时候,使⽤哪个原有变量的取值
从宽数据到长数据的转换
reshape long [变量名称], i[观察值的标识符] j[次标识符]
9.从宽数据到长数据的转换
reshape long kidid age girl yob, i(mothid) j(order)
保留有效数据
Eg. keep if kidid!=. 或. drop if kidid==.
(7996 observations deleted)
(只保存kidid 为有效值的样本;共有7996观察值被删除)
宽数据变量的尾缀不能以0开头的。
虽然Stata依旧⼯作,但其结果却是有问题的
10.数据的分组——sort
11.数据的集合
命令collapse和contract对记忆空间的数据进⾏集合,⽣成⼀个新的⾼层次数据
前者⽤于⽣成均值、中位数等统计量的数据
后者⽤于⽣成频数或⽐例的数据
集合频数或⽐例的路径:
Data – Create or change variables – Other variable transformation commands – Make dataset of frequencies(contract)
集合统计量的路径
Data – Create or change variables – Other variable transformation commands – Make dataset of means, medians,
etc(collapse)
第四章描述性分析
1.单变量频数分布
tab [变量名]
Eg.tab girl
2.多变量频数分布
tab1 [变量a 变量b 变量c], missing plot
missing和plot均属选项。
前者告诉Stata输出缺失值,后者告诉Stata绘制⼀幅频数分布的茎叶图
3.条件频数分布
条件频数分布也称交叉频数表为或列联表,同时⽣成两个变量之间关系的频数分布,属于相关分析中的⼀种
.tab提供、且只能提供双变量的交叉分析,⽣成⼆者之间的交叉频数分布,相当于命令tabulate
若其令后⾯仅有⼀个变量,则Stata输出该变量的频数分布
Stata的默认⽅法是,tab后⾯的第⼀个变量被当成⾏变量,第⼆个变量被当成列变量
.tab2也提供双变量的交叉分析表
.tab和tab2的主要区别在于,前者仅可以⽤于两个变量的交互分析(tab后⾯最多只能有两个变量);tab2可同时⽣成多个两两变量之间的交互频数分布表Eg.tab girl enroll, chi2 column row miss nokey (书P212 对表格的解读)
①: 提供两个变量关系的卡⽅
②: 提供列变量的百分⽐
③: 提供⾏变量的百分⽐
④: 提供缺失变量的⽐例
⑤: 压缩单元格内容的提⽰
4.变量的中央趋势(central tendency)和离散趋势(tendency of dispersion )
众数(mode)集中趋势:算术均值(mean,average)集中趋势:中位数(median)极差或者全距(range,R):表⽰变量取值中最⼤值和最⼩值之差。
适合所有分布类型的数据描述离散趋势的⽅法包括:级差、⽅差、标准差⽅差(variance):表⽰⼀组变量取值的平均离散程度。
⽅差越⼤,离散或者变异程度越⼤。
适合描述近似正态分布资料的离散趋势
离散趋势:标准差(standard deviation)
适合描述近似正态分布资料的离散趋势
⽅差或标准差都是根据全部数据计算的,反映了每个数据与其均值相⽐平均相差的数值,因此能准确地反映数据的离散程度
⾃由度:⼀组数据中可以⾃由取值的个数。
当样本的个数为n时,若样本均值确定后,必有⼀个数据不能⾃由取值。
因此,只有n-1 个数据可以⾃由取值在抽样估计中,当⽤样本⽅差去估计总体⽅差时,样本⽅差是总体⽅差的⽆偏估计量
5.sum[连续变量]
该命令给出标准统计量。
输出结果包括:
Obs Mean Std. Dev. Min Max
(观察量)(均值)(标准差)(最⼩值)(最⼤值)sum[连续变量],detail(P218 219)
6.均值估计(mean)⽐例估计(proportion)
7.使⽤table命令描述数据
table [变量a], contents[mean 变量b sd 变量b]
. table a b, contents(mean c sd d)
按变量a和b的分类,计算变量c的均值、d的标准差
8.使⽤tabstat命令描述数据
tabstat a b c d
输出的统计量是可选择的。
若不选择,则默认值为均值。
其主要选项包括:. tabstat a b c d, by(e) statistics(mean sd) columns(statistics)
②:需要得到的统计量,可多选,不同统计量之间需⽤空格隔开,如statistics(mean sd skewness kurtosis)
③:输出结果的格式可以选择
④:选择columns(statistics),则竖列表述的是统计量,横⾏表现的是变量。
若选择columns(variables)格式,则反之
9.使⽤tabulate, sum命令描述数据
tab a b, sum(c)
①:接变量a、b的分类变量,计算变量c的统计量,并输出a、b的频数分布
③:sum后⾯接⼀个需要输出统计量的数值型变量
②:分类变量;④:连续变量
10.列联表
Eg.tab urban enroll,row col nokey(书P228 229解读)
tabulate urban enroll, exact lrchi2 nokey
11.相关度测量
tabulate urban enroll, chi2 exact expected gamma lrchi2 taub V nokey
tabulate urban enroll, expected row col cell cchi2 clrchi2(书P234)
第五章图形制作与数据的描述
1.散点图
scatter y x
scatter height age, ①
title("Height of Children")②
subtitle("Stata Example")③
note("1") ④
caption("Source: Chapter7")⑤
scheme(economist)⑥
①: ⽣成height和age散点图的基本命令
②: 给图形附上标题,标题在括号内
③:给图形添加副标题,副标题在括号内
④:给图形编号
⑤:给图形提供注释,note和caption的意思基本是⼀样的
⑥: 定义图形的外观,括号内的economist告Stata输出⼀个经济型的图形
逗号后⾯所有的内容都属于选项,在所有图形中都是通⽤的
xsize (4) ysize (4)
①:横轴(宽度)的选项
②:横轴的宽度;这⾥将其定义为4英⼨
③:纵轴(⾼度)的选项
④:纵轴的⾼度;这⾥将其定义为4英⼨
散点图的选项:数轴(axis)
(a)数轴标题:ytitle,xtitle(“”)
(b)数轴的标签和刻度:ylabel(“”),xlabel
(c)数轴的范围(ylabel(minmax)或ylabel(0(20)180)
(d)⽹络线格式:xlabel(,grid) ylabel(,nogrid)
(e)添加线条:yline(130)
(f)多个数轴:yaxis(1) || yaxis(2)
scatter height age, mcolor(red)msize(5)msymbol(oh)
①:符号的颜⾊(mcolor=marker color),这⾥将散点定义为红⾊
②:符号的⼤⼩(msize=marker size),这⾥将散点定义为5
③:符号的性状(msymbol=marker symbol,可简写为ms),这⾥将散点的形状定义为空⼼圆
散点图的选项:添加⽂字(P253)
Eg.egen weightm=mean(weight), by(age)
.scatter height age || line weightm age,yaxis( 1 2) xaxis(1 2)title(This is the Title)subtitle(This is the Subtitle)caption(This is the caption)note(This is the
Note)ytitle(Height of Children, axis(2))ytitle(Weight of Children)xtitle(Age of Children)xtitle(Child Age, axis(2))ysize(4)xsize(5) 2.线图
line y x
注意点:1.将X变量排序2.将y轴的数据转换为均值
Eg.graph twoway line heightm age || line weightm age || line edum age if
edum~=.,yaxis(2) legend(row(3)position(10)ring(0))xtitle("") ytitle(Height and Weight)ytitle(Average Year of Schooling,
axis(2))ysize(3)xsize(4)
legend(row(3)position(10)ring(0)将图例分为三排,置于⼗点钟位置,且与绘图区之内。
线条的格式(P262)
connect(line line stairsteps)
clpattern(longdash solid dash)
lcolor(grey blue red)
lwidth(0.5 0.5 0.5 )
legend(row(3) position(3)ring(0))
xtitle("")
3.条形图
条形图分为纵向和横向条形图
.graph bar ⽣成纵向条形图,即柱形图,在这类柱形图中,y轴是连续变量,⽽x则可以是分类或连续变量。
.graph bar (mean) [连续变量], over[分类变量]
.graph hbar⽣成横向条形图。
y轴是连续变量,且是横向的;x轴则可以是分类或连续变量,且是纵向的:
.graph hbar (mean) [连续变量], over[分类变量]
统计量“mean”是stata默认的,可以选择其它统计量:包括median(中数)、sum(算术和),p(四分位数、⼗分位数、百分位数,等分位数)和count(计数),故可将上述命令换成:
.graph hbar (sum) [连续变量], over[分类变量]
条形图的选项:blabel
该选项有两个功能。
其⼀,增加图表的信息量——通过(blabel(bar))和blabel(total))将变量的取值添加到图形中;其⼆,通过(blabel(name))和
blabel(group))选项改变bar的名称和组合。
该选项只适⽤于graph bar和graph hbar 命令。
其次选项主要有:
blabel(what, where,how)(什么、什么地⽅、如何):指定标签的内容以及相对于bar⽽⾔标签的位置
blabel(bar):标签为bar的⾼度
blabel(total):标签为bar的累积⾼度,该选项只与stack连⽤
blabel(group):指明标签为第⼀个over选项中分组变量每个组别的名称
条形图的选项:bar
与bar的位置、形状、⾊彩等有关。
主要次选项:
outergap(*#)和outergap(#)
前者指定bar到绘图区边缘的距离,包括第⼀个bar和最后⼀个bar,改变默认值
outergap(*1.2)将间隔增加20%;outergap(*.8)则将间隔减少20%
outergap(#)指定间隔与bar宽度的⽐例(如,outergap(50) 将间隔缩为bar 宽度的⼀半)
bargap(#):bar之间的间隔,定义为与bar宽度的⽐例。
默认值为bargap(0),即各bar相连。
bargap()可为正、负值
bargap(10)将缩⼩bar之间的间隔(bar宽的10%)
bargap(-30)将使bars之间有30%的重合
值得注意的是,bargap()只影响y变量的bars
bar(#, barlook_options):bar的外观选项。
⽐如,bar(1, ...)是指第⼀个bar,bar(2, ...)是指第⼆个bar(2, ...),如此类推。
这⾥的...是bar的具体定义。
最有⽤的选择是⾊彩,(colorstyle),其功能是定义bar的颜⾊。
如:命令bar(1, color(red))将使第⼀个bar呈红⾊
intensity(#)和intensity(*#):指明填充bar的颜⾊的强度
. intensity(#) 直接指定某个强度
. intensity(*#)指明相对于默认值的强度
默认值是,bar内的填充颜⾊与其边框的颜⾊⼀致
若指定#<1,则颜⾊变淡,若指定#>1,则加深颜⾊
若⽆需填充bar,则使⽤intensity(0)
. lintensity(#)和lintensity(*#):指定bar边缘线条的强度
. lintensity(#)指定某个具体强度
. lintensity(*#)指定的强度是相对于默认值⽽⾔的
若需颜⾊最深,则使⽤lintensity(255)
Eg.graph bar (mean) edu if edu !=., blabel(bar, position(top)format(%4.2f)size(5)) ysize(4)xsize(3)over(girl, relabel(1 Boy 2 Girl)label(labcolor(black)labsize(medium)))ylabel("")over(urban, relabel(1 Rural 2 Urban))ytitle("")
bar(1,fcolor(blue)lcolor(gold)lwidth(thick))
Eg.graph bar (mean) weight height, over(sibs,relabel(1 "no sibling" 2 "1 sibling"
3 "2+ siblings"))bargap(-30)legend( label(1 "weight") label(2 "height") )ytitle("Height and weight")title("Height and weight of Children ")subtitle("by Number of Siblings") blabel(bar, position(inside) format(%9.1f) color(white))note("Source:
xyz")ytitle("")ylabel("")
4.直⽅图
histogram [变量]
bin(#)和width(#)
⼆者可互换、但不能同时使⽤
.bin指定数据将被如何集合成在bin中。
bin()指直⽅图中条柱的数量,“#”代表具体数⽬,因需⽽异。
若不注明,则Stata⾃动地根据变量的取值决定条柱的宽度
.width()指明柱⼦的宽度;使⽤width()选项将会改变图形的计算⽅式
若没有其中任何⼀个选项,Stata将⾃⾏决定bin的数⽬
.start(#)
表⽰数轴的起点,或者是变量的理论最⼩值。
默认值为start(m),其中m表⽰最⼩值(minimum)。
括号中的数值⼀定⼩于或等于最⼩值,否则就会得到⼀个红⾊的错误提⽰
discrete
该选项告诉Stata需要⽣成直⽅图的变量属于分类变量,故变量的每个分类都应该有⼀个独⽴条柱(bar)
. width(#)
该选项在分类变量中很少使⽤。
与连续变量⼀样,它指明柱⼦的宽度。
默认的形式是width(d)——d (difference)代表观察到变量特殊值的最⼩差别。
当变量的
分类较少时,可重新设置柱⼦的宽度
. start(#)
在分类变量中也不常⽤。
其使⽤⽅法连续变量
(1)y轴的统计量。
主要有四种
density:它是默认的统计量;Stata按⽐例绘制柱⼦的⾼度,从⽽使所有条柱⾯积之和等于1
fraction:按⽐例绘制柱⼦的⾼度,所有柱⼦的⾼度之和等于1
frequency:按⽐例绘制柱⼦的⾼度,从⽽使每个独⽴柱⼦的⾼度等于该类别的观察量,故条柱的⾼度之和等于总观察值percent:按⽐例绘制条柱的⾼度,条柱⾼度之和等于100%。
⽤百分⽐得到的图形和⽤频数所得到的形状⼀样;只是量纲不同⽽已
(2)柱⼦之间的距离:gap(#)
可缩⼩柱⼦的宽度(%)定义相邻柱间的距离。
默认的⽅式是gap(0)——相邻的柱⼦挨着。
距离介于0和100之间
(3)正态密度曲线:normal
在分布图上添加⼀条基于样本均值和标准差的正态分布密度曲线,所谓的正态是指它拥有与数据同样的均值和标准误差。
也可添加其它类型的曲线(4)柱⼦的标签:addlabels
在每个柱⼦的顶端,附上统计量,表明其⾼度
addlabopts(marker_label_options):指明如何表现柱⼦的标签,即条柱⾼度和表现形式
在散点图的marker_label选项中适⽤的选项,也适⽤于该选项
(5)其它选项
Y-Axis, X-Axis, Title, Caption, Legend, Overall, By等在twoway关系图中使⽤的选项在直⽅图中也基本适⽤,⽐如:
title(“Child Age”): 给该图形指定⼀个题⽬
xlabel(0(1)14) :0表⽰x轴从0开始,1表⽰数轴上数值的间隔为1,共有14个数值
xlabel(14):表⽰共有14个条形柱
ylabel(0(20)100) 或ytick:表⽰y数轴从0开始,数值间隔为20,最⼤数值为100;实际定义因需⽽异
Eg.histogram edu, by(girl urban)percent ytitle(Percent of Year of Schooling)ylabel(0(4)16) xtitle("") xlabel(0(3)15) start(0) width(1)
gap(1.5)ysize(3)xsize(4)
5.饼图
graph pie
Eg.graph pie,over(sibs)pie(2, explode
color(red))pie(3,explode)note("Source:xyz")title("Percent of Sibling Distribution")legend(row(3)position(6))ysize(4)xsize(3)
graph pie, over(sibs) plabel(_all
percent,format(%9.1f)size(large)color(white)gap(3)) pie(2, explode color(red)) pie(3,explode)note("Source:xyz")title("Percent of Sibling
Distribution")legend(row(3)position(6))ysize(4)xsize(3)
6.箱线图
graph box [变量a],over[变量b]
graph hbox a, over(b)
y依然是数值型变量,x轴仍旧是分类变量,但y是横轴,x是纵轴
Eg. graph hbox edu, over(sibs) over(urban, relabel(1 Rural 2 Urban)) yline(6, lcolor(red) lwidth(0.5))ysize(4)xsize(3)
Eg.graph hbox edu, over(sibs) by(urban) yline(6, lcolor(red)
lwidth(0.5))ysize(3)xsize(4)
7.矩阵图
graph matrix a b c d
①:⽣成矩阵图形的基本命令
②:⽣成矩阵图形的变量:a、b、c、d
.graph matrix a b c d, half msymbol(oh)
①:只显⽰⼀半的矩阵
②:散点采⽤⼩空⼼园点为标志
8.图形的替代
graph box y x
⽣成⼀个y与x的箱线图
. graph save yx
将新⽣成的箱线图命名为yx,并以.gph的形式保存起来
然后,我们对图形做些修改,并以同样的名称重新保存:
. graph save yx
我们会得到以下的错误提⽰,告诉我们同名图形已经存在:
(file fig_yx.gph already exists)
若需要替代现有的图形,需要在命令中添加replace的选项
. graph save yx,replace
(file fig_yx.gph saved)
9.在word⽂件中编辑图形(edit)
将图形复制到word⽂件中;
右键点击图形,并选择“编辑图⽚”
修改图形:改变字号、线条的粗细和格式、添加⽂字、删除数轴、添加或删除⼤⼩刻度或其它需要改变的地⽅
当对图形进⾏编辑的时候,纵轴的标题⾃动地变成横向的。
处理⽅法是:点击⼀次横向⽂字,⽂字框就被突出出来;再通过两种⽅法调整⽂字的⽅向从格式菜单找到⽂字⽅向,选择纵向
当突出显⽰标题的时候,同时产⽣⼀个⼯具条,⼯具条的最后⼀个选项可以⽤来旋转⽂字的⽅向
第六章参数估计
1.区间估计
ci a b c
①:区间估计的基本命令
ci即confidence interval
提供变量的观察数、均值、标准误和默认的95%的置信区间
②:需要计算区间估计的变量,可以是⼀个,也可以是多个
Eg.ci edu height weight if age >14,level(99)
默认95%置信⽔平level(99)表⽰99%置信⽔平
2. 使⽤mean的命令进⾏参数估计
Eg.mean edu height weight if age>14
mean edu height weight if age>14,over(urban)
命令ci在计算点估计和区间估计时,只考虑单个变量的有效值,⽽mean在进⾏参数估计时,考虑命令后⾯所有变量的有效值
——只对命令中列出的所有变量都不缺失的有效值进⾏估计
3. 使⽤ttest命令进⾏参数估计
.ttest a = [取值]:单个样本均值的检验
①:假定检验的基本命令
②:需要检验的变量名
③:假定的(有待检验的)变量a的取值
.ttest a, by(b):两个样本均值的⽐较
4.⽅差分析
单因素⽅差分析oneway y x
多因素⽅差分析anova y a
①:双(多)因素⽅差分析的基本命令,分析y的均值是否因a的不同类别⽽异
. anova y a b
分析y的均值是否因变量a、b的不同类别⽽异
. anova y a b a*b
分析y的均值是否因变量a、b的不同类别及两个⾃变量类别之间的互动⽽异。
在anova命令中,若想纳⼊互动变量,只需在两个变量之间加上*号即可. anova y a b c
分析y的均值是否因变量a、b、c的不同类别⽽异
. anova y a b c a*b a*c b*c a*b*c
分析y的均值是否因变量a、b、c⽽异,且检验变量a与b、a与c、b与c、a与b与c之间的互动
协⽅差分析
anova a b c d, cont(d)
①②
①: 协⽅差分析的基本命令
②: 指明协变量为连续变量;cont即continuous。
这⾥Stata将以d为协变量进⾏分析。
在不指定连续变量时,Stata视除因变量以外的所有变量为分组变量
. anova a b c d, category(d)
①
①: 指明⾃变量d为分类变量,从⽽暗⽰其它⾃变量为连续变量。
但分析结果不变
anova y a b c d a*b, cont(c d) regress
regress告诉Stata,除提供常规的⽅差表外,还提供回归分析结果。