Stata

维基百科,自由的百科全书
跳转到导航 跳转到搜索
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)