| 在寫文章或臨床研究方案設(shè)計(jì)時(shí),研究者常會(huì)糾結(jié)這樣的問題,“我的研究到底需要多少病例”、“我有xx個(gè)可用的病例,能發(fā)文章嗎”。如果樣本量太小,試驗(yàn)難以得出預(yù)期效果,結(jié)果不穩(wěn)定,錯(cuò)誤風(fēng)險(xiǎn)也大,容易得到“假陰性”結(jié)果;樣本量太大,則增加試驗(yàn)的成本和難度。 這類問題都可通過功效分析(power analysis)來解決,功效分析可以幫助在給定置信度的情況下,判斷檢測(cè)到給定效應(yīng)值時(shí)所需的樣本量,也就是樣本量的計(jì)算。 可實(shí)現(xiàn)樣本量計(jì)算的軟件有很多,例如,Power And Sample Size, G*Power, Epitools, PASS, nQuery Advisor+nTerim, DSTPLAN, PC-Size等,它們功能不一,并且在學(xué)習(xí)和使用的過程中都存在不同的難點(diǎn)。 其實(shí),樣本量的計(jì)算需要先確定研究設(shè)計(jì)類型和差異比較的檢驗(yàn)方法,如t檢驗(yàn)、卡方檢驗(yàn)、率的檢驗(yàn)、單因素方差分析、相關(guān)性分析等。 今天介紹的是用R軟件的pwr包實(shí)現(xiàn)t檢驗(yàn)的樣本量計(jì)算(當(dāng)然R軟件中也有其他包可以做,例如Epicalc,感興趣的小伙伴可以動(dòng)手摸索摸索)。 樣本量計(jì)算流程 1 -install.packages(pwr) 打開R軟件,安裝pwr包; 2 -library(pwr) 在每次使用前,都要加載pwr包; 3 運(yùn)行代碼,進(jìn)行樣本量計(jì)算(詳細(xì)代碼見下方說明)。 對(duì)于t檢驗(yàn),pwr.t.test()函數(shù)提供了許多有用的選項(xiàng),格式為: pwr.t.test(n = NULL, d = NULL, sig.level = 0.05, power = NULL, type = c('two.sample', 'one.sample', 'paired'), alternative = c('two.sided', 'less', 'greater')) 每個(gè)元素解釋如下:n為樣本大小;d為效應(yīng)值,即標(biāo)準(zhǔn)化的均值之差:均值差/標(biāo)準(zhǔn)差;sig.level表示顯著性水平(默認(rèn)為0.05);power為功效水平;type指檢驗(yàn)類型:兩獨(dú)立樣本t檢驗(yàn)(two.sample)、單樣本t檢驗(yàn)(one.sample)或配對(duì)樣本t檢驗(yàn)(paired),默認(rèn)為雙樣本t檢驗(yàn);alternative是檢驗(yàn)方式,雙側(cè)檢驗(yàn),單側(cè)檢驗(yàn)-劣于和優(yōu)于檢驗(yàn),默認(rèn)為雙側(cè)檢驗(yàn)。 下面用幾個(gè)具體的例子展示t檢驗(yàn)的樣本量估算。 例1 單樣本t檢驗(yàn) 某藥廠研究某種新藥治療高血壓的療效,要求用藥后舒張壓下降1.5kPa才算該藥有實(shí)際療效。根據(jù)以前試驗(yàn)表明,舒張壓下降量的標(biāo)準(zhǔn)差為3kPa。若規(guī)定α=0.05,檢驗(yàn)效能1-β=0.8,試估計(jì)需要多少病人進(jìn)行臨床試驗(yàn)? 解釋:n為樣本大小,是我們要求的,d為效應(yīng)值,1.5/3=0.5,power是0.80,type指檢驗(yàn)類型,在這里是單樣本t檢驗(yàn),具體的程序如下:pwr.t.test(n=, d = 0.5, sig.level = 0.05, power = 0.80 ,type = c('one.sample'))。結(jié)果發(fā)現(xiàn):需要約34例病人進(jìn)行臨床試驗(yàn)。 例2 獨(dú)立樣本t檢驗(yàn) 某藥廠對(duì)本廠新研發(fā)的降壓藥A與標(biāo)準(zhǔn)降壓藥B的療效進(jìn)行比較。已知B藥能使血壓平均水平下降2kPa,期望A藥能平均下降4kPa,若降壓值的標(biāo)準(zhǔn)差為4.5kPa,試問在α=0.05,檢驗(yàn)效能1-β=0.8的條件下,需要多少病人進(jìn)行臨床試驗(yàn)? 解釋:n為樣本大小,是我們要求的,d為效應(yīng)值,(4-2)/4.5,power是0.80,type指檢驗(yàn)類型,在這里是兩獨(dú)立樣本t檢驗(yàn),具體的程序如下:pwr.t.test(n=, d = 2/4.5, sig.level = 0.05, power = 0.80,type = 'two.sample',alternative = 'greater')。結(jié)果發(fā)現(xiàn):每組約需要64例病人進(jìn)行臨床試驗(yàn)。 例3 配對(duì)樣本t檢驗(yàn) 用某藥治療硅沉著病患者后,尿矽排除量平均增加15mg/L,其標(biāo)準(zhǔn)差為25mg/L。假定該藥確能使尿矽排除量增加,定α=0.05(單側(cè)),β=0.10,問需觀察多少患者才能得出服藥前后尿矽排除量之間的差別有統(tǒng)計(jì)學(xué)意義的結(jié)論? 解釋:n為樣本大小,是我們要求的,d為效應(yīng)值,15/25=0.6,power是0.90,type指檢驗(yàn)類型,在這里是配對(duì)樣本t檢驗(yàn),具體的程序如下:pwr.t.test(n=, d = 0.6, sig.level = 0.05, power = 0.90,type = 'paired', alternative = 'greater')。結(jié)果發(fā)現(xiàn):約需要26對(duì)患者才能得出服藥前后尿矽排除量之間的差別有統(tǒng)計(jì)學(xué)意義的結(jié)論。 上面的例子都是假定兩組中樣本大小相等,如果兩組中樣本大小不同,可用函數(shù)pwr.t2n.test,具體的代碼如下:pwr.t2n.test(n1 = NULL,n2 = NULL, d = NULL, sig.level = 0.05, power = NULL, type = c('two.sample', 'one.sample', 'paired'), alternative = c('two.sided', 'less', 'greater'))。 此處,n1和n2是兩組的樣本大小,其他參數(shù)含義與pwr.t.test()的相同。但是在這里,n1和n2必須確定其一。 本次分享就到這里了,下一次,我們繼續(xù)介紹采用R軟件的pwr包實(shí)現(xiàn)卡方檢驗(yàn)的樣本量估算! 
 | 
|  |