我们进行研究前,经常会被问到:对于我的研究,现在有x个可用的受试者,这样的研究值得做吗?或者“对于我的研究到底需要几个受试者呢?“这类问题需要功效分析进行解决。
R语言基础知识:
样本大小:指实验设计中每种条件/组中观测的数目
显著性水平:由I型错误的概率来定义,可以说发现效应不发生的概率。
功效:通过I减去II型错误的概率,可以看作是真实效应发生的概率。
效应:是指在备择和研究假设下效应的量。效应值的表达式依赖于假设检验中统计方法。功效分析中研究设计的四个基本量。给定任意三个,你可以推算第四个,利用pwr包实现功效分析。
pwr包中的函数:
t检验,pwr.t.test()函数提供许多有用的功效分析选项,格式为:
pwr.t.test(n=,d=,sig.level=,power=,alternative=)
其中:n为样本大小
d为效应值,即标准化的均值之差
sig.level表示显著性水平(默认为0.05)
power为功效水平
type指检验类型:双样本t检验(two.sample)、单样本t检验(one.sample)或相依样本t检验(paired)。默认为双样本t检验。
alternative指统计检验是双侧检验(two.sides)还是单侧检验(less或greater),默认为双侧检验。
手机与驾驶反应时间的实验,假定将使用双尾独立样本t检验来比较两种情况下 驾驶员的反应时间。根据经验知道反应时间1.25s的标准偏差,并认定反应时间1s的差值是巨大的差异,那么在这个研究中,可设定效应值为d=1/1.25=0.8或者更大,另外,如果差异存在,希望有90%的把握检测它,由于随机变异性的存在,希望有95%的把握不会误报差异显著,这时,对于该研究需要多少受试者呢?
> install.package("pwr")
> library(pwr)
>pwr.t.test(n=20,d=.5,sig.level=.01,type="two.sample",alternative="two.sided")
Two-sample t test power calculation
n = 20
d = 0.5
sig.level = 0.01
power = 0.1439551
alternative = two.sided
NOTE: n is number in *each* group
结果表明,每组需要34个受试者(总共需要68人),这样才能保证90%的把握检测到0.8的效应值,并且最多只有5%的可能性会误报差异存在。