Stata学习笔记 下载本文

以下命令均采用小写字母 Chapter 1 stata入门 1.1打开数据

use \ 用use命令打开数据

sysuse auto,clear auto 为系统数据 sysuse为打开系统数据的命令 1.2获取帮助

Help summarize summarize为需要获取帮助对象 可以改为其他的需要帮助的对象 Findit summarize,net 寻找网络帮助 summarize为需要获取帮助对象 Search summarize ,net 寻找网络帮助 summarize为需要获取帮助对象 显示结果 Display 5+9

1.3描述统计(summarize 可简写成sum) Use atuo,clear

Summarize price 描述price的观察值个数、平均值、标准差、最小值、最大值 Sum weight summarize可简写成sum Sum weight price 同时完成上面两步

1.4绘图

Scatter price weight scatter 为绘制散点图命令

Line price weight ,sort line 为绘制折线图命令,sort为排序,绘制折线图前需要先排序

1.5生成新的数据(generate 可简写成gen) Clear

Set obs 1000 设置观测值的组数 Gen x=_n _n 为观察值得序号 Gen y=x+100

1.6控制结果输出显示 List n

1.7设置屏幕滚动

Set more off 先设置此项 则显示时,屏幕不停止 Set more on 先设置此项 则显示时,会使显示停止

1.8清除内存中原有内容

clear

1.9设置文件存取路径(cd) Cd d:\\stata d:\\stata为路径

1.10如果想知道当前路径下有哪些文件,可以用dir 命令来列示 .dir

1.11假设你想在D 盘的根目录下创建一个新的文件夹mydata 来存放数据文件, 命令为mkdir。 mkdir d:\\mydata

1.12错误提示 List myvar

上述命令试图显示变量myvar,但是结果窗口仅出现如下的显示 variable myvar not found r(111);

红色信息表明,没有找到一个叫myvar 的变量,的确,我们的数据中并没有 这个变量。List 巧妇难为无米之炊。

红色信息下面还有一个天兰色的 r(111),用鼠标点击,即可弹进一个帮助信 息框,给出错误的更详尽解释。

再比如,我们在求五数概略时,误把 sum 写成了sun . sun

unrecognized command: sun r(199);

显示说不认识sun 这个命令。

附录:常见命令

Chapter2命令语句

2.1 掌握命令语句的格式

[by varlist:] command [varlist] [=exp] [if exp] [in range] [weight] [, options]

注:[ ]表示可有可无的项,显然只有command 是必不可少的,下面结合例子分 项来讲解命令的各个组成部分。

2.2 命令command

[by varlist:] command [varlist] [=exp] [if exp] [in range] [weight] [, options]

. cd d:/stata9

. use auto, clear //打开美国汽车数据文件auto.dta,后面的clear 表示先清除内存中可

能存在的数据集

. summarize /*很多命令可单独使用,单独使用时,一般是对所有变量进

行操作,等价于后面加上代表所有变量的_all。 */

. summarize _all /注意到该命令输出结果与上一个命令完全一样 . sum //与前一命令等价,sum 为summarize 的略写 . su su 是summarize 的最简化略写,不能再简化为s

. s //简写前提是不引起混淆。执行这个命令将出现错误信息

unrecognized command: s

2.3 变量varlist

[by varlist:] command [varlist] [=exp] [if exp] [in range] [weight] [, options] varlist 表示一个变量,或者多个变量,多个变量之间用空格隔开。 . cd d:/stata9 . use auto, clear

. sum price //求价格的观察值个数,平均值,方差,最小值和最大值 . su p //变量和命令均可略写,注意到两个结果完全一样

. su t //分数据中有两个变量的开首字母为t(trunk 和turn),所以

STATA 认为t 为模糊的省略。

m ambiguous abbreviation /红色为错误信息

. sum tr tu //求trunk 和turn 变量的五数概略统计

变量名称

除以下字符不能用作变量名外,任何字母、字母与数字(单独的数字也不允许)组合均可用做 变量名:

_all _b byte _coef _cons double float if in int long _n _N _pi _pred _rc _se _skip using with

基本要求如下:

_ 第一个字元可以是英文字母或, 但不能是数字; _ 最多只能包括32 个英文字母、数字或下划线;

_ 由于STATA 保留了很多以“_ “开头的内部变量,所以最好不要用为第一个字元来 定义变量。

2.4 分类操作by varlist

[by varlist:] command [varlist] [=exp] [if exp] [in range] [weight] [, options]

如果需要分别知道国产车和进口车的价格和重量,可以采用分类操作来求得, . cd d:/stata9 . use auto, clear

. by foreign: sum price weight //分别计算国产车和进口车的价格和重量

但如果执行下面两个命令,将出现错误*/

. sort price //按价格从低到高重新排序 . by foreign: sum price weight *not sorted

/* 系统提示没有排序,这是因为by varlist 在执行时要求内存中的数据是按照 by 后面的变量排序的。当我们用sort price 重新排序后,就打乱了原来按照 foreign 的排序,所以出现了错误提示。更正的办法是:*/ . sort foreign //按国产车和进口车排序 . by foreign: sum price weight

*更简略的方式是把两个命令用一个组合命令来写。 . by foreign, sort: sum price weight

如果不想从小到大排序,而是从大到小排序,其命令为 gsort。 .gsort - price /按价格从高到低排序

. gsort foreign –price /*先把国产车都排在前,进口车排在后面,然后在国产车内再按价

格从大小到排序,在进口车内部,也按从大到小排序*/

2.5 赋值及运算=exp

[by varlist:] command [varlist] [=exp] [if exp] [in range] [weight] [, options] 例:生成一个新的价格变量nprice,该变量的取值为原汽车价格变量price 的基础上涨10 元 . cd d:/stata9 . use auto, clear

. gen nprice=price+10 //生成新变量nprice,其值为price+10 . list price nprice //比较一下两个变量的取值

/*上面的命令generate(略写为gen) 生成一个新的变量,新变量的变量名为 nprice,新的价格在原价格的基础上均增加了10 元。

. replace nprice=nprice-10 /*命令replace 则直接改变原变量的赋值,nprice 调减后与