R语言与显著性检验学习笔记
一、何为显著性检验
显著性检验的思想十分的简单,就是认为小概率事件不可能发生。虽然概率论中我们一直强调小概率事件必然发生,但显著性检验还是相信了小概率事件在我做的这一次检验中没有发生。
显著性检验即用于实验处理组与对照组或两种不同处理的效应之间是否有差异,以及这种差异是否显著的方法。
常把一个要检验的假设记作H0,称为原假设(或零假设),与H0对立的假设记作H1,称为备择假设。
⑴在原假设为真时,决定放弃原假设,称为第一类错误,其出现的概率通常记作α;
⑵在原假设不真时,决定接受原假设,称为第二类错误,其出现的概率通常记作β。
通常只限定犯第一类错误的最大概率α,不考虑犯第二类错误的概率β。这样的假设检验又称为显著性检验,概率α称为显著性水平。
我们常用的显著性检验有t检验,卡方检验,相关性检验等,在做这一些检验时,有什么需要注意的呢?
二、正态性与P值
t检验,卡方检验,相关性检验中的pearson方法都是建立在正态样本的假设下的,所以在假设检验开始时,一般都会做正态性分析。在R中可以使用shapiro.test()。来作正态性检验。当然在norm.test包中还提供了许多其他的方法供我们选择。
P值是可以拒绝原假设的最小水平值。
三、四个重要的量
综合前面的叙述,我们知道研究显著性检验有四个十分重要的量:样本大小,显著性水平,功效,效应值。
样本大小:这个显然,样本越多,对样本的把握显然越准确,但是鉴于我们不可能拥有无限制的样本,那么多少个样本可以达到要求?今天的分享中我们可以通过R来找到答案。
显著性水平:犯第一类错误的概率,这个在做检验前我们会提前约定,最后根据P值来决定取舍。
功效:这个是在显著性检验中一般不提及但实际十分有用的量。它衡量真实事件发生的概率。也就是说功效越大,第二类错误越不可能发生。虽然显著性假设检验不提及它,但衡量假设检验的好坏的重要指标便是两类错误尽可能小。
效应值:备择假设下效应的量
四、用pwr包做功效分析
Pwr包中提供了以下函数:

下面我们来介绍以上一些函数的用法。
1、 t检验
调用格式:
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"))
参数说明:
N:样本大小
D:t检验的统计量
Sig.level:显著性水平
Power:功效水平
Type:检验类型,这里默认是两样本,且样本量相同
Alternative:统计检验是双侧还是单侧,这里默认为双侧
举例说明:已知样本量为60,单一样本t检验的统计量的值为0.2(这个可以通过t.test(data)$statistic取出来),显著水平α=0.1,那么功效是多少呢?
R中输入命令:
得到结果:
One-sample t test power calculation
n = 60
d = 0.2
sig.level = 0.1
power = 0.4555818
alternative = two.sided
我们可以看到,犯第二类错误的概率在50%以上,我们应该相信这个结果吗(无论根据P值来看是拒绝还是接受)?显然不行,那么需要多少个样本才能把第二类错误降低到10%呢?
在R中输入:
pwr.t.test(d=0.2,power=0.9,sig.level=0.10,type="one.sample",alternative="two.sided")
得到结果:
One-sample t test power calculation
n = 215.4542
d = 0.2
sig.level = 0.1
power = 0.9
alternative = two.sided
也就是说216个样本才可以得到满意的结果,使得第二类错误概率不超过0.1.
对于两样本而言是类似的,我们不在赘述,我们下面再介绍另一种t检验的情况:两样本不相等。
调用格式:
pwr.t2n.test(n1 = NULL, n2= NULL, d =
NULL,sig.level = 0.05, power = NULL, alternative =
c("two.sided","less","greater"))
参数说明:
n1 Numberof
observations in the first sample
n2 Numberof
observations in the second sample
d
Effectsize
sig.level
Significancelevel (Type I error probability)
power
Powerof test (1 minus Type II error probability)
alternative
acharacter string specifying the alternative hypothesis, must be
one of"two.sided" (default), "greater" or "less"
例如:两个样本量为90,60,统计量为0.6,单侧t检验,α=0.05,为望大指标。
R中的命令:
输出结果:
t test power calculation
n1 = 90
n2 = 60
d = 0.6
sig.level = 0.05
power = 0.9737262
alternative = greater
可以看出功效十分大,且α=0.05,我们相信这次检验的结论很可信。
2、 相关性
Pwr.r.test()函数对相关性分析进行功效分析。格式如下:
pwr.r.test(n = NULL, r = NULL,
sig.level = 0.05, power = NULL,
alternative =
c("two.sided", "less","greater"))
这里和t检验不同的是r是线性相关系数,可以通过cor(data1,data2)获取,但需要注意的是不要输入spearman,kendall相关系数,他们是衡量等级相关的。
假定我们研究抑郁与孤独的关系,我们的原假设和备择假设为:
H0:r<0.25 v.s.
H1:r>0.25
假定显著水平为0.05,原假设不真,我们想有90%的信心拒绝H0,需要观测多少呢?
下面的代码给出答案:
pwr.r.test(r=0.25,sig.level=0.05,power=0.9,alt="greater")
approximate correlation power
calculation (arctangh transformation)
n = 133.8325
r = 0.25
sig.level = 0.05
power = 0.9
alternative = greater
易见,需要样本134个
3、 卡方检验
原假设为变量之间独立,备择假设为变量不独立。命令为pwr.chisq.test(),调用格式:
pwr.chisq.test(w = NULL, N = NULL, df =
NULL, sig.level = 0.05, power =
NULL)其中w为效应值,可以通过ES.w2计算出来,df为列联表自由度
举例:
prob<-matrix(c(0.225,0.125,0.125,0.125,0.16,0.16,0.04,0.04),nrow=2,byrow=TRUE)
prob
ES.w2(prob)
pwr.chisq.test(w=ES.w2(prob),df=(2-1)*(4-1),N=200)
输出结果:
Chi squared power calculation
w = 0.2558646
N = 200
df = 3
sig.level = 0.05
power = 0.8733222
NOTE: N is the number of
observations
也就是说,这个观测下反第二类错误的概率在13%左右,结果较为可信。
在R中还有不少与功效分析有关的包,我们不加介绍的把它们列举如下:

R语言与显著性检验学习笔记的更多相关文章
- R语言与机器学习学习笔记
人工神经网络(ANN),简称神经网络,是一种模仿生物神经网络的结构和功能的数学模型或计算模型.神经网络由大量的人工神经元联结进行计算.大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自 ...
- R语言函数化学习笔记6
R语言函数化学习笔记 1.apply函数 可以让list或者vector的元素依次执行一遍调用的函数,输出的结果是list格式 2.sapply函数 原理和list一样,但是输出的结果是一个向量的形式 ...
- R语言函数化学习笔记3
R语言函数化学习笔记3 R语言常用的一些命令函数 1.getwd()查看当前R的工作目录 2.setwd()修改当前工作目录 3.str()可以输出指定对象的结构(类型,位置等),同理还有class( ...
- 【数据分析 R语言实战】学习笔记 第十一章 对应分析
11.2对应分析 在很多情况下,我们所关心的不仅仅是行或列变量本身,而是行变量和列变量的相互关系,这就是因子分析等方法无法解释的了.1970年法国统计学家J.P.Benzenci提出对应分析,也称关联 ...
- 【数据分析 R语言实战】学习笔记 第四章 数据的图形描述
4.1 R绘图概述 以下两个函数,可以分别展示二维,三维图形的示例: >demo(graphics) >demo(persp) R提供了多种绘图相关的命令,可分成三类: 高级绘图命令:在图 ...
- 【数据分析 R语言实战】学习笔记 第三章 数据预处理 (下)
3.3缺失值处理 R中缺失值以NA表示,判断数据是否存在缺失值的函数有两个,最基本的函数是is.na()它可以应用于向量.数据框等多种对象,返回逻辑值. > attach(data) The f ...
- R语言函数话学习笔记5
使用Tidyverse完成函数化编程 (参考了家翔学长的笔记) 1.magrittr包的使用 里面有很多的管道函数,,可以减少代码开发时间,提高代码可读性和维护性 1.1 四种pipeline 1.1 ...
- 【数据分析 R语言实战】学习笔记 第七章 假设检验及R实现
假设检验及R实现 7.1假设检验概述 对总体参数的具体数值所作的陈述,称为假设;再利用样本信息判断假设足否成立,这整个过程称为假设检验. 7.1.1理论依据 假设检验之所以可行,其理沦背景是小概率理论 ...
- R语言函数化学习笔记4
条件语句和循环语句 当你说话时候用到了如果,此时条件出现了 举个条件函数的例子 sign_t<-function(x){ if(x>0){ return(1) }else if(x< ...
随机推荐
- SpringData _day01_jpa的入门
1.orm思想和以及jpa的概述和jpa的基本操作 简单的说:ORM就是建立实体类和数据库表之间的关系,从而达到操作实体类就相当于操作数据库表的目的. orm思想 主要目的:操作实体类就相当于操 ...
- 使用cmd查看windows端口占用情况,并关闭应用
在做开发的时候常常会遇到端口被占用的问题,下面是我在网上找的比较好用的一种关闭占用端口进程的方法 1.在运行中输入cmd打开dos命令窗口,比如我想找到端口8888对应的PID(通过PID找到相应的进 ...
- python 日记 day5 字典
一.数据类型分为: 1.不可变数据类型:元组,bool,int,str (不可更改的又叫可哈希) 2.可变数据类型 :list,dict ,set (可变的又叫不可哈希) 字典: 优点:1.可二分 ...
- Python-Jsonpath简单入门
原文来自:http://goessner.net/articles/JsonPath/ JSONPath - 是xpath在json的应用. xml最大的优点就有大量的工具可以分析,转换,和选择性 ...
- hadoop面试题及答案解析
1.(Datanode)程序负责HDFS数据存储. 2.HDFS中的block默认保存(3份). 3.(TaskTracker)程序通常与NameNode在一个节点启动. 分析:hadoop集群是基于 ...
- 洛谷 P3956 棋盘
题目描述 有一个m ×m的棋盘,棋盘上每一个格子可能是红色.黄色或没有任何颜色的.你现在要从棋盘的最左上角走到棋盘的最右下角. 任何一个时刻,你所站在的位置必须是有颜色的(不能是无色的), 你只能向上 ...
- android 数据绑定(3)自动更新UI
1.官方文档 https://developer.android.com/topic/libraries/data-binding/observability 2.observable 属性 适合对象 ...
- [Array]414. Third Maximum Number
Given a non-empty array of integers, return the third maximum number in this array. If it does not e ...
- vue-cli+webpack搭建简单的vue项目框架
0.先去官网下载安装nodeJS 1.在cmd中输入命令 node -version 若出现node版本号 则安装成功 2.通过命令:cd 文件夹名 进入某具体文件夹后进行如下命令操作: ...
- 论ul、ol和dl的区别
1.ul是无序列表,也就是说没有排列限制可以随意加li: <ul> <li>可以随意放置</li> <li>可以随意放置</li> < ...