Stata

出自Local Chinese Wikipedia
跳至導覽 跳至搜尋
Stata
File:Stata logo med blue.png
原作者William Gould[1]
開發者StataCorp
首次發佈1985年 (1985)
當前版本17
原始碼庫
  • {{URL|example.com|可选的显示文本}}
Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
編程語言C
引擎
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
    作業系統Windows, macOS, Linux
    類型統計分析
    許可協議專有
    網站www.stata.com

    Stata是Statacorp公司於1985年開發出來的統計程序,被廣泛應用於企業和學術機構中。許多使用者工作在研究領域,特別是在經濟學社會學政治學流行病學領域[2]。最新的版本已經升級到了Stata 18。

    Stata的一系列功能包括:數據管理,統計分析,圖表,模擬,自定義編程。

    Stata代碼例子[編輯]

    File:Regression graphs from auto dataset in Stata 17.png
    Stata 17中自動數據集的回歸分析圖。

    進行y在x上的線性(OLS)回歸

    regress y x [if]
    

    選項部份if允許限制命令所用採樣至一個子集。例如,如果命令只適用於採樣中的雌性,則應當指定if female == 1

    要進行y在x上的邏輯斯諦迴歸

     logistic y x
    

    要顯示y針對x的散佈圖,並限制x的值在10以下:

     scatter y x if x < 10
    

    要進行y在x上的OLS回歸,採用White的異方差一致的標準誤差英語heteroscedasticity-consistent standard errors

     regress y x, vce(robust)
    

    要計算回歸的赤池信息量準則(AIC)和貝葉斯信息量準則(BIC)[3]

     estat ic
    

    要編碼「Fizz buzz英語Fizz buzz」:

    program define fizzbuzz
    	args x
    	forvalues i = 1/`x' {
    		if mod(`i',15) == 0 {
    			display "fizzbuzz"
    		}
    		else if mod(`i',5) == 0 {
    			display "buzz"
    		}
    		else if mod(`i',3) == 0 {
    			display "fizz"
    		}
    		else {
    		    display `i'
    		}
    	}
    end
    

    Mata[編輯]

    Stata的矩陣編程語言Mata支持陣列編程[4]。下面例子展示了加法、乘法、一個矩陣和一個標量的加法、逐個元素的乘法、下標和Mata的多個逆矩陣之一:

    . mata:
    
    : A = (1,2,3) \(4,5,6)
    
    : A
           1   2   3
        +-------------+
      1 |  1   2   3  |
      2 |  4   5   6  |
        +-------------+
    
    : B = (2..4) \(1..3)
    
    : B
           1   2   3
        +-------------+
      1 |  2   3   4  |
      2 |  1   2   3  |
        +-------------+
    
    : C = J(3,2,1)           // A 3 by 2 matrix of ones
    
    : C
           1   2
        +---------+
      1 |  1   1  |
      2 |  1   1  |
      3 |  1   1  |
        +---------+
    
    : D = A + B
    
    : D
           1   2   3
        +-------------+
      1 |  3   5   7  |
      2 |  5   7   9  |
        +-------------+
    
    : E = A*C
    
    : E
            1    2
        +-----------+
      1 |   6    6  |
      2 |  15   15  |
        +-----------+
    
    : F = A:*B
    
    : F
            1    2    3
        +----------------+
      1 |   2    6   12  |
      2 |   4   10   18  |
        +----------------+
    
    : G = E :+ 3
    
    : G
            1    2
        +-----------+
      1 |   9    9  |
      2 |  18   18  |
        +-----------+
    
    : H = F[(2\1), (1, 2)]    // Subscripting to get a submatrix of F and
    
    :                         // switch row 1 and 2
    : H
            1    2
        +-----------+
      1 |   4   10  |
      2 |   2    6  |
        +-----------+
    
    : I = invsym(F'*F)        // Generalized inverse (F*F^(-1)F=F) of a
    
    :                         // symmetric positive semi-definite matrix
    : I
    [symmetric]
                     1             2             3
        +-------------------------------------------+
      1 |            0                              |
      2 |            0          3.25                |
      3 |            0         -1.75   .9444444444  |
        +-------------------------------------------+
    
    : end
    

    引用[編輯]

    1. Stata Journal | Article. www.stata-journal.com. [2021-02-20]. (原始內容存檔於2020-09-23). 
    2. Who uses Stata?. Stata. [2017-06-28]. (原始內容存檔於2018-03-23). 
    3. Choosing Regression Model in Stata. [2021-02-20]. (原始內容存檔於2018-08-30). 
    4. Mata—Stata's serious programming language. [2021-02-20]. (原始內容存檔於2021-04-20). 

    延伸閱讀[編輯]

    外部連結[編輯]

    Module:Sister_project_links第463行Lua錯誤:attempt to index field 'wikibase' (a nil value)