stata的效应量及检验力计算(以独立样本t检验为例)

以前主要用SPSS的时候,如果要计算效应量(Cohen’s d)和检验力(power值)的话,就得SPSS,Gpower软件来回切换。

现在做研究跑数据更多地用stata了,发现只用stata就可以完成所有的计算。

其中,效应量和检验力涉及到的命令分别是esizepwoer

以软件自带数据auto为例,用stata的命令计算独立样本t检验后的Cohen’s d和power值。

# 调用数据
sysuse auto

# 独立样本t检验,自变量foreign,因变量mpg
ttest mpg,by(foreign)

# 获取两组的均值,样本量和标准差
local m1=r(mu_1) 
local m2=r(mu_2)
local n1=r(N_1)
local n2=r(N_2)
local sd1=r(sd_1)
local sd2=r(sd_2)

#得到效应量
esize twosample mpg,by(foreign)

#得到power值
power twomeans `m1' `m2',n1(`n1') n2(`n2')  sd1(`sd1') sd2(`sd2') knownsds

1、独立样本t检验

独立样本t检验.png

2、效应量

效应量.png

输入help esize后,可以看到该命令的帮助文档。

esize_help.png

其中,置信区间CI可以通过level()进行设置,例如,想看d值的90%CI,则是esize twosample mpg, by(foreign) level(90)

3、power值

power值.png

结果显示是88.87%的power值,这个计算就是根据t检验结果后存储的两组的均值,样本量和标准差计算得到的。

输入help power后,可以看到该命令的帮助文档。

power_help1.png

power这个命令可以计算样本量,power值和效应量及目标参数。

此外,涉及到的假设检验包括以下这些:

power_help2.png

4、多个因变量的循环

总之,在stata里就可以一次性得到检验结果,效应量和检验力结果了,不用来回切换软件了。

而且,如果需要做多个因变量的t检验的话,写个循环就好啦~省时省力。

例如:

# 将因变量名放置暂元dep后
local dep price mpg rep78

# 循环暂元dep,对每个因变量进行检验
foreach i of local dep {
# 对因变量进行描述
d `i'
ttest `i',by(foreign)
local m1=r(mu_1) 
local m2=r(mu_2)
local n1=r(N_1)
local n2=r(N_2)
local sd1=r(sd_1)
local sd2=r(sd_2)
esize twosample `i',by(foreign)
power twomeans `m1' `m2',n1(`n1') n2(`n2')  sd1(`sd1') sd2(`sd2') knownsds
}

结果如下:

多个因变量的循环.gif
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容