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,2\4,1,5)
3 mat Q=(-3,1,0\2,0,1\0,-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,-1\2,1,0\1,-1,1)p
11 dis det(A) //行列式不為零,可以求逆
12 mat b=(1,-1,3\4,3,2)
13 mat X=b*inv(A)
14 mat l X

五、自學途徑

  • help+命令(全英文看醉了)
  • 人大經濟論壇(中文)
  • statalist(英文)
  • UCLA提供的網絡教程
  • 連玉君博客
  • 參考教材

 

六、基本操作

  • 打開數據
.sysuse auto,clear  //使用sysuse打開系統示例數據,使用clear命令來清除已打開的數據
.use D:\Stata12.0\ado\base\a\auto //使用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安裝版)\ado\base/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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM