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
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容