R语言-功效分析(t检验)

2020-08-06 11:51:53 浏览数 (1)

我们进行研究前,经常会被问到:对于我的研究,现在有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%的可能性会误报差异存在。

0 人点赞