《stata统计分析与应用笔记》由会员分享,可在线阅读,更多相关《stata统计分析与应用笔记(12页珍藏版)》请在金锄头文库上搜索。
1、第一章:Stata概述:help和search都是查找文件的命令但help用于查找精确的命令,search是模糊查找。还可使用help|contents 来分类查找第二章:数据管理:2.1变量和变量的取值:1.变量的命名:不能以数字开头,区分大小写,不能命名为系统变量名2.变量的取值类型:(1)字符型:字符变量存储格式是str,str表示格式表示该变量的存储最多可容纳的字符数(2)数值型数据:存储格式:byte.int.long.float.double.Stata默认将数字存储为浮点数据,而将计算结果存为双浮点数据。(3)缺失数据:一般仅用“.”表示3变量的显示:(1)数值变量的显示格式:a
2、.普通格式有%w.dg, %w.dgc(g表示普通,w表示整个显示所占的字符数,d表示显示的数字中小数点后的位数,c是要求Stata给出带逗号“,”数字显示格式如12345显示为12,345)b固定格式有%w.df, %w.dfc(f表示固定)c.科学指数法格式:%w.de, (e表示科学计数)(2)字符变量的显示格式:仅有一种%s,%是提示符,#表示显示字符数,s表示字符变量显示格式,默认右对齐,后加“-”可改为左对齐。(3)使用format命令变量显示格式:format varlist %fmt 或者 format %fmt varlist 4.变量的标签(1)添加数据集的标签使用: la
3、bel data “lable”(2)添加变量的标签使用:label variable varname “lable”(3)label为变量数值添加标签的语法有两部分,先定义数值标签:label define lblname#“lable” #“lable”(lblname是标签名称)然后将定义好的数值标签添加到变量上:label values varlist lblnamel.2.2创建一个新的数据集1.关于数据集操作的基本命令(1)browse 和edit 命令:browse 用于打开数据浏览器,edit命令用于打开数据编辑器Edit varlist if inbrowse varlist
4、 if in(if和in 用于选择需要的子集)(2)rename:rename old_varname new_varname(3)save命令:save filename ,save_options(,save_options可以指nolabel(不保存设定标签),replace(允许新文件覆盖原文件),all主要用于编程(4)describe:用于产生一个对数据集的简明总结格式:describe varlist ,memory_options(命令选项:simple,short,detail,fullnames)(5)list:用于显示变量的数值,其后可以跟需要显示的变量名称语法:list
5、 varlist if in ,options(命令选项包括:noobs(不显示观测值的数值),clean,separator,sepby,nolabel)(6)codebook:用于详尽地描述变量的内容,包括变量名称、标签、赋值。语法:codebook varlist if in ,options(命令选项有header,notes,mv,problems,compact)2.举例应用:输入原始数据定义变量名添加标签使用describe和codebook命令查看数据全貌保存数据到硬盘的工作目录2.3导入已创建的数据集1.一般原则:(1)打开数据集前要用clear命令清除内存中的数据集 (2)
6、可用 set memory 50m,permanently来设定空间 (3)读入数据方法:可用use, edit, insheet,infile,infix,等 (4)在数据文件不是太大的情形下,使用Excel文件粘贴复制就可以完成数据读入2.读取格式为.dta的数据一般:use filename ,clear nolabel( clear nolabel是两个选项)此时filename为当前工作目录下的文件3.利用Excel复制数据进入Stata系统中2.4 Stata中的表达式1.算术符号:+ 、-、*、/、(乘方)、-(负号)2.关系符号(六种):=(等于),!=(不等于),=,=12l
7、ist educ college in 1/10(2) 使用generate newvar=(varname#)生成虚拟变量generate newvar=(varname#)是一个生成虚拟变量的快捷方式,在这个命令中,第一个等号表示定义:满足其后小括号中的观测案例将会在新的变量中定义为1,其余的情况则定义为0上(1)有程序generate college=(educ=12)2.生成分类变量(1)generate加replace命令生成分类变量 如将edu6教育水平划分为6个等级,和虚拟变量不同之处在于这是6组(3) recode命令recode类似replace也可对已有变量重新赋值,语法如
8、下:recode varlist (rule)(rule),generate(newvar)(varlist 是需要进行转换赋值的变量名,rule是事先确定的转换规则,选项,generate(newvar)用于将转换后的变量保存为一个新的变量recode的常见赋值规则有#=#,#=#,#/#=#,nonmissing=#,minssing=#如:recode x1(1=2)(2=1),gen(nx1)3.使用autocode()、recode()和group()3个函数生成分类变量语法:gen varlist =autocode(x,n,xmin,xmax) gen varlist =grou
9、p(x)gen varlist =autocode(x,x1,x2,xn)2.10数据的整理(将存放在不同的数据文件里的数据文件合并)1.数据的横向合并:指将两个数据文件的变量加总在一起。合并后数据的样本不变,但变量的数目增加了,也就是使得数据文件变宽了。用merge命令语法:merge varlist using filename filename ,optionsvarlist指的是合并序号变量,filename用于合并两个以上的数据,易出错。Options选项可以有:merge(newvar),update,replace,nokeep,nosummary2.数据的纵向合并:指的是把两个
10、数据的样本加总在一起,合并后的数据变量数目不变,但样本数目增加了,也就是使得数据变长了。用append命令语法:append using filename ,options (选项有keep,nolabel,nonotes)3.数据的交叉合并:指的是把一个数据的个案和另外一个数据的个案交叉搭配生成新的数据。(1)用jobby进行组内交叉 语法:joinby varlist using filename ,options(2)用cross进行一一交叉 语法:cross using filename4.数据的抽取:对于大型数据,需抽取再分析sample 命令:sample # if in ,count by(groupvars)#是样本容量(或样本百分比),如果指定count,那么#就是样本内观测值个数;如果没有指定count,那么#就是抽取样本的百分比。by(groupvars)可进行组内抽取,还可以用set seed 5来保证每次抽取的样本相同第三章 图形绘制基础3.1 Stata绘图简介用户可用Graphics菜单制图,但不推荐。1. 主要的图形类型:直方图、扇形图、条形图、散点图、直线图以及数据拟合图(一维或二维图),还