跳转到内容

Stata

维基百科,自由的百科全书
Stata
原作者William Gould[1]
開發者StataCorp
首次发布1985年 (1985)
当前版本17
编程语言C
操作系统Windows, macOS, Linux
类型统计分析
许可协议专有
网站www.stata.com

Stata是Statacorp公司于1985年开发出来的统计程序,被广泛应用于企业和学术机构中。许多使用者工作在研究领域,特别是在经济学社会学政治学流行病学领域[2]。最新的版本已经升级到了Stata 18。

Stata的一系列功能包括:数据管理,统计分析,图表,模拟,自定义编程。

Stata代码例子

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). 

延伸阅读

外部链接