Stata

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

Stata
原作者William Gould[1]
開發者StataCorp
初始版本1985年 (1985)
穩定版本
16.1
(2020年2月18日2020-02-18
编程语言C
操作系统Windows, macOS, Linux
类型统计分析
许可协议专有
网站www.stata.com

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

Mata

Stata的矩阵编程语言Mata支持阵列编程[2]。下面例子展示了加法、乘法、一个矩阵和一个标量的加法、逐个元素的乘法、下标和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

Stata代码例子

进行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的异方差一致的标准误差

 regress y x, vce(robust)

要计算回归的赤池信息量准则(AIC)和贝叶斯信息量准则(BIC)[3]

 estat ic

要编码“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

引用

  1. . www.stata-journal.com.
  2. .
  3. .

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.