R in action读书笔记(13)第十章 功效分析
功效分析
功效分析可以帮助在给定置信度的情况下,判断检测到给定效应值时所需的样本量。反过来,它也可以帮助你在给定置信度水平情况下,计算在某样本量内能检测到给定效应值的概率。如果概率低得难以接受,修改或者放弃这个实验将是一个明智的选择。
10.1假设检验速览
在研究过程时,研究者通常关注四个量:样本大小、显著性水平、功效和效应值。样本大小指的是实验设计中每种条件/组中观测的数目。显著性水平(也称为alpha)由I型错误的概率来定义。也可以把它看做是发现效应不发生的概率。功效通过1减去II型错误的概率来定义。我们可以把它看做是真实效应发生的概率。效应值指的是在备择或研究假设下效应的量。效应值的表达式依赖于假设检验中使用的统计方法。
10.2 用pwr 包做功效分析
函 数 功效计算的对象 |
pwr.2p.test() 两比例(n相等) |
pwr.2p2n.test() 两比例(n不相等) |
pwr.anova.test() 平衡的单因素ANOVA |
pwr.chisq.test() 卡方检验 |
pwr.f2.test() 广义线性模型 |
pwr.p.test() 比例(单样本) |
pwr.r.test() 相关系数 |
pwr.t.test() t检验(单样本、两样本、配对) |
pwr.t2n.test() t检验(n不相等的两样本) |
10.2.1 t 检验
对于t检验,pwr.t.test()函数提供了许多有用的功效分析选项,格式为:
function (n = NULL, d = NULL, sig.level = 0.05, power = NULL,
type = c("two.sample","one.sample", "paired"), alternative =c("two.sided", "less", "greater"))
n为样本大小。
d为效应值,即标准化的均值之差。d =(m1-m2)/s
sig.level表示显著性水平(默认为0.05)。
power为功效水平。
type指检验类型:双样本t检验(two.sample)、单样本t检验(one.sample)或相依样本t检验(paired)。默认为双样本t检验。
alternative指统计检验是双侧检验(two.sided)还是单侧检验(less或greater)。默认为双侧检验。
>library(pwr)
>pwr.t.test(d=.8,sig.level=.05,power=.9,type="two.sample",alternative="two.sided")
Two-samplet test power calculation
n =33.82554
d =0.8
sig.level =0.05
power=0.9
alternative = two.sided
NOTE: n is number in*each* group
10.2.2 方差分析
pwr.anova.test()函数可以对平衡单因素方差分析进行功效分析。格式为:
function (k = NULL, n = NULL, f = NULL, sig.level =0.05, power = NULL)其中,k是组的个数,n是各组中的样本大小
对于单因素方差分析,效应值可通过f来衡量:
其中,pi = ni/N,
ni = 组i的观测数目
N = 总观测数目
μi
= 组i均值
μ= 总体均值
σ2 = 组内误差方差
> pwr.anova.test(k=5,f=.25,sig.level=.05,power=.8)
Balancedone-way analysis of variance power calculation
k= 5 #结果表明,总样本大小为5 × 39,即195
n= 39.1534
f= 0.25
sig.level= 0.05
power= 0.8
NOTE: n is number in each group
10.2.3 相关性
pwr.r.test()函数可以对相关性分析进行功效分析
function (n = NULL, r = NULL, sig.level = 0.05, power = NULL,
alternative = c("two.sided", "less", "greater"))
n是观测数目,r是效应值(通过线性相关系数衡量),sig.level是显著性水平,power是功
效水平,alternative指定显著性检验是双边检验(tow.sided)还是单边检验(less或greater)。
>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
10.2.4 线性模型
对于线性模型(比如多元回归),pwr.f2.test()函数可以完成相应的功效分析,格式为:
function (u = NULL, v = NULL, f2 = NULL, sig.level = 0.05, power = NULL) ,u和v分别是分子自由度和分母自由度,f2是效应值。
当要评价一组预测变量对结果的影响程度时,适宜用第一个公式来计算f2;当要评价一组预测变量对结果的影响超过第二组变量(协变量)多少时,适宜用第二个公式。
> pwr.f2.test(u=3,f2=.0769,sig.level=.05,power=.90)
Multiple regression power calculation
u = 3
v = 184.2426
f2 = 0.0769
sig.level = 0.05
power = 0.9
在多元回归中,分母的自由度等于N - k - 1,N是总观测数,k是预测变量数。本例中,N - 7
- 1 = 185,即需要样本大小N = 185 + 7 + 1 = 193。
10.2.5 比例检验
当比较两个比例时,可使用pwr.2p.test()函数进行功效分析。格式为:
function (h = NULL, n = NULL, sig.level = 0.05, power = NULL,
alternative = c("two.sided", "less", "greater"))
其中,h是效应值,n是各组相同的样本量。效应值h定义如下:
可用ES.h(p1, p2)函数进行计算。
当各组中n不相同时,则使用函数:
function (h = NULL, n1 = NULL, n2 = NULL, sig.level = 0.05, power = NULL, alternative = c("two.sided", "less", "greater"))> pwr.2p.test(h=ES.h(.65,.6),sig.level=.05,power=.9,alternative="greater")Difference of proportion power calculation for binomial distribution (arcsine transformation)h = 0.1033347n = 1604.007sig.level = 0.05power = 0.9alternative = greaterNOTE: same sample sizes
10.2.6 卡方检验
pwr.chisq.test()函数可以评估卡方检验的功效、效应值和所需的样本大小。格式为:
function (w = NULL, N = NULL, df = NULL, sig.level = 0.05, power = NULL)
其中,w是效应值,N是总样本大小,df是自由度。此处,效应值w如下定义:
p0i = H0时第i单元格中的概率
p1i = H1时第i单元格中的概率
> prob<-matrix(c(.42,.28,.03,.07,.10,.10),byrow=TRUE,nrow=3)
> ES.w2(prob)
[1] 0.1853198
> pwr.chisq.test(w=.1853198,df=2,sig.level=.05,power=.9)
Chi squared power calculation
w = 0.1853198
N = 368.4529
df = 2
sig.level = 0.05
power = 0.9
NOTE: N is the number of observations
10.2.7 在新情况中选择合适的效应值
功效分析中,预期效应值是最难决定的参数。
单因素ANOVA中检测显著效应所需的样本大小
> library(pwr)
> es<-seq(.1,.5,.01)
> nes<-length(es)
> samsize<-NULL
> for(i in 1:nes){
+ result<-pwr.anova.test(k=5,f=es[i],sig.level=.05,power=.9)
+ samsize[i]<-ceiling(result$n)
+ }
> plot(samsize,es,type="l",lwd=2,col="red",
+ ylab="effect size",
+ xlab="sample size (per cell)",
+ main="one way anova with power=.90 and alpha=.05")
10.3 绘制功效分析图形
假设对于相关系数统计显著性的检验,计算一系列效应值和功效水平下所需的样本量,此时可用pwr.r.test()函数和for循环来完成任务检验各种效应值下的相关性所需的样本量曲线
library(pwr)
r<-seq(.1,.5,.01)
nr<-length(r)
p<-seq(.4,.9,.1)
np<-length(p)
samsize<-array(numeric(nr*np),dim=c(nr,np))
for(i in 1:np){
for(j in 1:nr){
result<-pwr.r.test(n=NULL,r=r[j],
sig.level=.05,power=p[i],
alternative="two.sided")
samsize[j,i]<-ceiling(result$n)
}
xrange<-range(r)
yrange<-round(range(samsize))
colors<-rainbow(length(p))
plot(xrange,yrange,type="n",
xlab="correlationcoefficient (r)",
ylab="sample size(n)")
for(i in 1:np){
lines(r,samsize[,1],type="l",lwd=2,col=colors[i])
}
abline(v=0,h=seq(0,yrange[2],50),lty=2,col="grey89")
abline(h=0,v=seq(xrange[1],xrange[2],.02),lty=2,col="grey89")
title("sanple size ")
legend("topright",title="power",as.character(p),fill=colors)
10.4 其他软件包
asypow 通过渐进似然比方法计算功效
PwrGSD 组序列设计的功效分析
pamm 混合模型中随机效应的功效分析
powerSurvEpi 流行病研究的生存分析中功效和样本量的计算
powerpkg 患病同胞配对法和TDT(TransmissionDisequilibrium Test,传送不均衡检验)设
计的功效分析
powerGWASinteractionGWAS交互作用的功效计算
pedantics 一些有助于种群基因研究功效分析的函数
gap 一些病例队列研究设计中计算功效和样本量的函数
ssize.fdr 微阵列实验中样本量的计算
R in action读书笔记(13)第十章 功效分析的更多相关文章
- R in action读书笔记(20)第十五章 处理缺失数据的高级方法
处理缺失数据的高级方法 15.1 处理缺失值的步骤 一个完整的处理方法通常包含以下几个步骤: (1) 识别缺失数据: (2) 检查导致数据缺失的原因: (3) 删除包含缺失值的实例或用合理的数值代替( ...
- R in action读书笔记(19)第十四章 主成分和因子分析
第十四章:主成分和因子分析 本章内容 主成分分析 探索性因子分析 其他潜变量模型 主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量称为主成分.探索性因 ...
- R in action读书笔记(12)第九章 方差分析
第九章方差分析 9.2 ANOVA 模型拟合 9.2.1 aov()函数 aov(formula, data = NULL, projections =FALSE, qr = TRUE, contra ...
- R in action读书笔记(5)-第七章:基本统计分析
7.1描述性统计分析 > vars<-c("mpg","hp","wt") > head(mtcars[vars]) ...
- R in action读书笔记(22)第十六章 高级图形进阶(下)
16.2.4 图形参数 在lattice图形中,lattice函数默认的图形参数包含在一个很大的列表对象中,你可通过trellis.par.get()函数来获取,并用trellis.par.set() ...
- R in action读书笔记(21)第十六章 高级图形进阶(上)
16.1 R 中的四种图形系统 基础图形函数可自动调用,而grid和lattice函数的调用必须要加载相应的包(如library(lattice)).要调用ggplot2函数需下载并安装该包(inst ...
- R in action读书笔记(17)第十二章 重抽样与自助法
12.4 置换检验点评 除coin和lmPerm包外,R还提供了其他可做置换检验的包.perm包能实现coin包中的部分功能,因此可作为coin包所得结果的验证.corrperm包提供了有重复测量的相 ...
- R in action读书笔记(16)第十二章 重抽样与自助法之 置换检验
第十二章:重抽样与自助法 本章,我们将探究两种应用广泛的依据随机化思想的统计方法:置换检验和自助法 12.1 置换检验 置换检验,也称随机化检验或重随机化检验. 有两种处理条件的实验,十个受试者已经被 ...
- R in action读书笔记(15)第十一章 中级绘图 之二 折线图 相关图 马赛克图
第十一章 中级绘图 本节用到的函数有: plot legend corrgram mosaic 11.2折线图 如果将散点图上的点从左往右连接起来,那么就会得到一个折线图. 创建散点图和折线图: &g ...
随机推荐
- 2016/3/20 数组定义 数组遍历 超全局数组 数组元素设置(in_array() 、array_reverse()、count()、array_unique()、unset()、array_values、array_merge、array_push) 列表实例
一.数组定义 php数组与其他语言的数组的不同: 其他例如java语言 :同一种类型数据的集合. php:数组可以存储任何类型的数据.同一个数组中可以放int类型也可以放string类型 ①索引数组的 ...
- net start sshd 发生系统错误1069--cygwin安装过程
net start sshd 发生系统错误1069 解决方法: services.msc调出服务,然后CYGWIN sshd服务->属性,修改账户的名字和密码(win7的登录名和密码) 可能还遇 ...
- browser user agent
乐视X501 UC浏览器1080x1920x32Mozilla/5.0 (Linux; U; Android 5.0.2; zh-CN; Letv X501 Build/DBXCNOP55013041 ...
- Lightoj 1023 - Discovering Permutations
1023 - Discovering Permutations PDF (English) Statistics Forum Time Limit: 0.5 second(s) Memory L ...
- 吃CPU的openmp 程序
g++ -o eat -fopenmp eat.cpp #include "stdio.h" int main(int argc, char *argv[]) { #pragma ...
- JavaScript-Tool:CKFinder
ylbtech-JavaScript-Tool:CKFinder 1.返回顶部 CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器. 其简单的界面使得它直观,快速学习的各类用户,从 ...
- UI:sqlite数据库
使用sqllite的时候一些笔记 数据库(管理类),在工程 general 导入 动态链接库 libsqllite3.0.dylib 在.h文件里引入导入 sqllite3.h 头文件 在.h里面声 ...
- Ruby模块与类
Ruby是单一继承,一个类只能有一个直接的母类 Mix-in 模式来处理复合需求 多重包含: 由下往上回溯,重复的只看最上方的 换句话说,程序由上往下执行,由具体到抽象,第二次发现同一个模块 ...
- mybatis基础学习5---懒加载和缓存
1:懒加载 1)在主配置文件设置(要放在配置文件最前面) 1 <!-- 延迟加载配置,两个都必须同时有 --> <settings> 3 <!-- lazyLoading ...
- bzoj 4276: [ONTAK2015]Bajtman i Okrągły Robin【线段树+最大费用最大流】
--因为T点忘记还要+n所以选小了所以WA了一次 注意!题目中所给的时间是一边闭一边开的区间,所以读进来之后先l++(或者r--也行) 线段树优化建图,很神.(我记得还有个主席树优化建树的?)首先考虑 ...