stata学习笔记(一):stata软件入门

一、文件扩展名

数据文件 .dta

命令文件.do

程序文件.ado

二、不同统计软件的对比

三、使用wbopendata(世界银行公开数据)模块获取数据,减轻数据下载管理的工作量

例1:wbopendata获得“每百人手机订购量“指标的元数据并制作地图

. wbopendata, language (en -English) indicator (it.cel.sets.p2) long clear latest

. use Mobile, clear
. spmap it cel sets p2 using "world-c.dta", id(id)

四、解决线性代数问题

例2:

1 //‚线性变换可以用矩阵的形式表示,即x=Sy,y=Qz, 则x=S*Q*z.其中x,y,z•为列向量
2 mat S=(2,0,1-2,3,24,1,5)
3 mat Q=(-3,1,02,0,10,-1,3)
4 mat b1=S*Q
5 mat l b1 //下面用方程形式表示出来
6 dis "x1="b1[1,1] "*z1+"b1[1,2] "*z2+"b1[1,3] "*z3"
7 dis "x2="b1[2,1] "*z1+"b1[2,2] "*z2+"b1[2,3] "*z3"
8 dis "x3="b1[3,1] "*z1+"b1[3,2] "*z2+"b1[3,3] "*z3"
9 //求解矩阵,先试探系数矩阵是否可逆 
10 mat A=(2,1,-12,1,01,-1,1)p
11 dis det(A) //行列式不为零,可以求逆
12 mat b=(1,-1,34,3,2)
13 mat X=b*inv(A)
14 mat l X

五、自学途径

  • help+命令(全英文看醉了)
  • 人大经济论坛(中文)
  • statalist(英文)
  • UCLA提供的网络教程
  • 连玉君博客
  • 参考教材

六、基本操作

  • 打开数据
.sysuse auto,clear  //使用sysuse打开系统示例数据,使用clear命令来清除已打开的数据
.use D:Stata12.0adobaseaauto //使用use命令来打开用户自己的数据
.cd”D:abc“  //打开其他位置的数据文件,或者使用file--open来打开指定数据
.webuse nlswork,clear  //webuse 命令默认从http://www.stata-press.com/data 这一路径获取数据,欲获取其他网络数据则只能使用use + 完整的网络地址来获取.
.use http://fmwww.bc.edu/RePEc/bocode/c/CardKrueger1994.dta, clear /* 从波士顿大学的Stata 数据库中获取数据*/
  • 查看数据

describe:描述数据库变量类型、属性

. describe

Contains data from F:stata13(windows安装版)adobase/a/auto.dta
  obs:            74                          1978 Automobile Data
 vars:            12                          13 Apr 2013 17:45
 size:         3,182                          (_dta has notes)
-------------------------------------------------------------------------------
              storage   display    value
variable name   type    format     label      variable label
-------------------------------------------------------------------------------
make            str18   %-18s                 Make and Model
price           int     %8.0gc                Price
mpg             int     %8.0g                 Mileage (mpg)
rep78           int     %8.0g                 Repair Record 1978
headroom        float   %6.1f                 Headroom (in.)
trunk           int     %8.0g                 Trunk space (cu. ft.)
weight          int     %8.0gc                Weight (lbs.)
length          int     %8.0g                 Length (in.)
turn            int     %8.0g                 Turn Circle (ft.)
displacement    int     %8.0g                 Displacement (cu. in.)
gear_ratio      float   %6.2f                 Gear Ratio
foreign         byte    %8.0g      origin     Car type
-------------------------------------------------------------------------------
Sorted by:  foreign

. 

list:陈列相应的变量和数据

1 sysuse auto
2
3 list /* 陈列文件的全部数据*/
4 list make price mpg rep78 /* 陈列变量make price mpg rep78 的数据*/
5 list make price mpg rep78 in 1/10 /* 陈列变量make price mpg rep78 的前10 个数据*/
6 list make price mpg rep78 if mpg>20 /* 陈列变量make price mpg rep78 的满足mpg 大于20 的数据*/
7
8 list make price mpg rep78 ,table /* 强制按图标形式陈列变量。list 陈列数据的默认形式依赖屏幕窗口的宽度, 9 list make price mpg rep78 ,display /* 强制按display 陈列变量*/
10 list make price mpg rep78 ,table header /* 陈列时带变量名,实际上这也是list 默认的形式*/
11 list make price mpg rep78 ,table noheader /* 陈列时不带变量名*/
12
13 list make price mpg rep78 ,table header(4) /* 每四次观测为一组陈列每一组陈列时都有变量名*/
14 list make price mpg rep78 in 1/10,clean /* 陈列时不带表格线*/
15 list make price mpg rep78 in 1/10,divider /* 陈列时每列数据间有竖线*/
16 list make price mpg rep78 in 1/20, divider separator(10)
17 /* 陈列时每列数据间有竖线,并且每10 行有横线,list 的默认值为5*/
18
19 sort headroom /* 数据按headroom 从小到大的顺序排列*/
20 list make price mpg rep78 in 1/20, sepby(headroom) /* 陈列数据时,当headroom 的数据改变时,有横线隔开*/
21 list make price mpg rep78 ,table sum mean N /* 陈列数据后,计算变量观测值的和,平均值和总样本数*/
22 list make price mpg rep78 , sum(price mpg rep78) labvar(make) /* 陈列数据后,计算变量price mpg rep78 的观测值的和*/
23
24 by rep78, sort: list make price mpg rep78
25 /* 数据先按rep78 从小到大的顺序排列,再按rep78 的值陈列make price mpg rep78 的数据*/
26 by rep78, sort: list make price mpg rep78, constant /* 和上述相同,陈列时,单独列出rep78 的值*/

直接使用browse命令打开数据库浏览

.browse

scatter:绘制散点图

. scatter price weight

  • 保存数据
. save auto1,replace/*另存为auto1.dta, 如果已经有这个文件名的文件,那么覆盖保存*/
file auto1.dta saved
  • 生成数据

generate:生成一列新数据

.g num = _n  //generate或gen都可以

用list num可查看新生成的变量

. list num

     +-----+
     | num |
     |-----|
  1. |   1 |
  2. |   2 |
  3. |   3 |
  4. |   4 |
  5. |   5 |
     |-----|
  6. |   6 |
  7. |   7 |
  8. |   8 |
  9. |   9 |
 10. |  10 |
     |-----|
 11. |  11 |
 12. |  12 |
 13. |  13 |
 14. |  14 |
 15. |  15 |
     |-----|
 16. |  16 |
 17. |  17 |
 18. |  18 |
  • 修改数据
.replace  //+条件语句:剔除缺失值、异常值、批量修改数据

.edit  //慎用,避免无意间修改了原始数据

注意:原始数据不允许随便修改

  • 描述统计

summarize:求变量的个数、平均值、标准差、最小值和最大值

. su  //summarize或sum都可以

    Variable |       Obs        Mean    Std. Dev.       Min        Max
-------------+--------------------------------------------------------
        make |         0
       price |        74    6165.257    2949.496       3291      15906
         mpg |        74     21.2973    5.785503         12         41
       rep78 |        69    3.405797    .9899323          1          5
    headroom |        74    2.993243    .8459948        1.5          5
-------------+--------------------------------------------------------
       trunk |        74    13.75676    4.277404          5         23
      weight |        74    3019.459    777.1936       1760       4840
      length |        74    187.9324    22.26634        142        233
        turn |        74    39.64865    4.399354         31         51
displacement |        74    197.2973    91.83722         79        425
-------------+--------------------------------------------------------
  gear_ratio |        74    3.014865    .4562871       2.19       3.89
     foreign |        74    .2972973    .4601885          0          1
原文地址:https://www.cnblogs.com/pursuit1996/p/4606163.html