首页 > 解决方案 > 计算均值差

问题描述

该变量bwght给出了婴儿的出生体重(以盎司为单位)。

吸烟和不吸烟母亲的平均出生体重有何不同?

如何在Stata中进行均值减法?

标签: stata

解决方案


这是使用auto玩具数据集作为示例的一种方法:

sysuse auto, clear

summarize price if foreign
local mean1 = r(mean)

summarize price if !foreign
local mean2 = r(mean)

如果您只想查看结果,可以使用以下display命令:

display `mean1' - `mean2'
312.25874

如果要将结果保存在变量中,可以使用以下generate命令:

generate mean_price = `mean1' - `mean2'

list mean_price in 1, abbreviate(10)

     +------------+
     | mean_price |
     |------------|
  1. |   312.2587 |
     +------------+

您也可以使用该mean命令,而不是summarize

mean price, over(foreign)
matrix A = r(table)

display A[1,2] - A[1,1]
312.25874

generate mean_price = A[1,2] - A[1,1]

list mean_price in 1, abbreviate(10)

     +------------+
     | mean_price |
     |------------|
  1. |   312.2587 |
     +------------+

编辑:

尼克考克斯的评论

您还可以使用以下regress命令:

regress price foreign 


      Source |       SS           df       MS      Number of obs   =        74
-------------+----------------------------------   F(1, 72)        =      0.17
       Model |  1507382.66         1  1507382.66   Prob > F        =    0.6802
    Residual |   633558013        72  8799416.85   R-squared       =    0.0024
-------------+----------------------------------   Adj R-squared   =   -0.0115
       Total |   635065396        73  8699525.97   Root MSE        =    2966.4

------------------------------------------------------------------------------
       price |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
     foreign |   312.2587   754.4488     0.41   0.680    -1191.708    1816.225
       _cons |   6072.423    411.363    14.76   0.000     5252.386     6892.46
------------------------------------------------------------------------------

均值的差异是变量的系数,foreign之后您可以使用 访问它_b[foreign]。对于代码相差 1 的任何二进制预测器(例如0112),这都是正确的。


推荐阅读