用R語言做數據分析——方差與相關性的功效分析

R語言 另類搖滾 數據分析和挖掘 2017-06-26

方差分析

pwr.anova.test()函數可以對平衡單因素方差分析進行功效分析,格式為:

pwr.anova.test(k=, n=, f=, sig.level=, power=)

其中,k是組的個數,n是各組中的樣本大小。對於單因素方差分析,效應值可通過f來衡量:

用R語言做數據分析——方差與相關性的功效分析

其中,pi = ni/N,ni=組i的觀測數目,N=總觀測數目,ui=組i均值,u=總體均值,σ^2=組內誤差方差。

例子:現對五個組做單因素方差分析,要達到0.8的功效,效應值為0.25,並選擇0.05的顯著性水平,計算各組需要的樣本大小。分析代碼如下:

> library(pwr)

> pwr.anova.test(k=5, f=.25, sig.level = .05, power = .8)

Balanced one-way analysis of variance power calculation

k = 5

n = 39.1534

f = 0.25

sig.level = 0.05

power = 0.8

NOTE: n is number in each group

結果表明:總樣本大小為5*39=195。

相關性

pwr.r.test()函數可以對相關性分析進行功效分析,格式如下:

pwr.r.test(n=, r=, sig.level=, power=, alternative=)

其中,n是觀測數目,r是效應值(通過線性相關係數衡量),sig.level是顯著性水平,power是功效水平,alternative指定顯著性檢驗是雙邊檢驗(two.sided)還是單邊檢驗(less或greater)。

例子:我們正在研究抑鬱與孤獨的關係,原假設和備擇假設為:H0:p <= 0.25 和 H1:p > 0.25。其中,p是兩個心理變量的總體相關性大小。我們設定顯著性水平為0.05,而且如果H0是錯誤的,我們想有90%的信息拒絕H0,那麼研究需要多少觀測呢?分析代碼如下:

> pwr.r.test(r=.25,sig.level = .05,power = .90,alternative = "greater")

approximate correlation power calculation (arctangh transformation)

n = 133.2803

r = 0.25

sig.level = 0.05

power = 0.9

alternative = greater

因此,要滿足以上要求,我們需要134個受試者來評價抑鬱與孤獨的關係,以便使原假設為假的情況下有90%的信息拒絕它。

相關推薦

推薦中...