文章目录

  • @[toc]
  • Mann-Whitney U检验
    • 适用条件
    • R语言示例
  • Wilcoxon配对秩和检验
    • 适用条件
    • R语言示例
  • Kruskal-Wallis检验
    • 适用条件
    • R语言示例
  • Friedman检验
    • 适用条件
    • R语言示例

非参数检验是在总体方差未知或知道甚少的情况下,利用样本数据对总体分布形态进行推断的方法。它利用数据的大小间的次序关系(秩Rank),而不是具体数值信息,得出推断结论。

它是参数检验所需要的某些条件不满足时所使用的方法。

和参数检验相比,非参数检验的优势如下:

  • 稳健性。对总体分布的条件要求放宽
  • 对数据类型要求不严格,适用有序分类变量
  • 适用范围广

劣势:

  • 没有利用实际数值,损失了部分信息,检验的有效性较差。

非参数性检验的方法非常多,基于方法的检验功效性角度,本文只涉及

  • 双独立样本:Mann-Whitney U检验
  • 双配对样本:Wilcoxon配对秩和检验
  • 多独立样本:Kruskal-Wallis检验
  • 多配对样本:Friedman检验

Mann-Whitney U检验

曼-惠特尼U检验(曼-惠特尼秩和检验),是由H.B.Mann和D.R.Whitney于1947年提出的。它假设两个样本分别来自除了总体均值以外完全相同的两个总体,目的是检验这两个总体的均值是否有显著的差别。

适用条件

  • 双独立样本检验

R语言示例

函数及格式:wilcox.test(y~x,data)

其中,y是连续变量,x是一个二分变量。

也可以使用这种形式:

wilcox.test(y1,y2)

其中,y1和y2为变量名。可选参数data的取值为一个包含这些变量的矩阵或数据框。

示例:

#载入MASS包
library(MASS)
#使用UScrime数据集
#Prob为监禁率,So为是否南方地区
#检验美国监禁率是否存在南方和非南方差异
#wilcox.test检验
wilcox.test(Prob~So,data = UScrime)
#结果Wilcoxon rank sum testdata:  Prob by So
W = 81, p-value = 8.488e-05
alternative hypothesis: true location shift is not equal to 0
#结果显示P小于0.001,美国监禁率存在南方和非南方地区差异。

Wilcoxon配对秩和检验

Wilcoxon配对秩和检验是对Sign符号检验的改进。它的假设被归结为总体中位数是否为0。

适用条件

  • 双配对样本检验

R语言示例

Wilcoxon配对秩和检验调用函数格式与Mann-Whitney U检验相同。不同之处在于可以添加paired=TRUE参数。

示例:

#u1(14-24岁年龄段城市男性失业率)
#u2(35-39岁年龄段城市男性失业率)
#检验失业率是否在两个年龄段存在差异
#Wilcoxon配对秩和检验
with(UScrime,wilcox.test(U1,U2,paired = TRUE))
#结果Wilcoxon signed rank test with continuity correctiondata:  U1 and U2
V = 1128, p-value = 2.464e-09
alternative hypothesis: true location shift is not equal to 0
#结果显示,存在差别。

Kruskal-Wallis检验

由克罗斯考尔和瓦里斯1952年提出,用来解决多独立样本难以满足方差分析条件(独立性、正态性、方差齐性)时统计推断问题。

适用条件

  • 多独立样本检验

R语言示例

函数格式:

kruskal.test(y~A,data)

其中,y为连续变量,A为两个或更多水平的分组变量。

示例:

#检验美国四个地区文盲率是否存在差异
#数据皆来自R自带数据集
#通过state.region数据集获取地区名称,即分组变量。
states <- data.frame(state.region,state.x77)
#调用kruskal.test函数
kruskal.test(Illiteracy~state.region,data = states)
#结果Kruskal-Wallis rank sum testdata:  Illiteracy by state.region
Kruskal-Wallis chi-squared = 22.672, df = 3, p-value =
4.726e-05
#结果显示,文盲率存在地区差异。

Friedman检验

Friedman检验也称弗里德曼双向评秩方差分析。由Friedman在1937年提出,基本思想是独立对每一个区组分别对数据进行排秩,消除区组间的差异以检验各种处理之间是否存在差异。

适用条件

  • 多配对样本检验

Fiedman检验在样本量有限的情况下,实际应用价值不大。

R语言示例

函数格式:

friedman.test(y~A|B,data)

其中,y为连续变量,A是一个分组变量,B是一个用以认定匹配观测的区组变量。

或者
friedman.test(data=matrix格式)

其中,data要求矩阵格式。可以通过as.matrix转换

示例:

(虚构)有30名女性分为三组每组10人,试吃三种药。经过一段时间后,药效如下。问三种药药效是否有区别。

药1
4.4,5,5.8,4.6,4.9,4.8,6,5.9,4.3,5.1

药2
6.2,5.2,5.5,5,4.4,5.4,5,6.4,5.8,6.2

药3
7.0,6.2,5.9,6,4.6,6.4,5,6.4,5.8,6.2

#生成数据集
drug1 <- c(4.4,5,5.8,4.6,4.9,4.8,6,5.9,4.3,5.1)
drug2 <- c(6.2,5.2,5.5,5,4.4,5.4,5,6.4,5.8,6.2)
drug3 <- c(7.0,6.2,5.9,6,4.6,6.4,5,6.4,5.8,6.2)
#矩阵
data <- matrix(c(drug1,drug2,drug3),nrow = 10,dimnames = list(ID=1:10,c('drug1','drug2','drug3')))
#查看数据
dataID   drug1 drug2 drug31    4.4   6.2   7.02    5.0   5.2   6.23    5.8   5.5   5.94    4.6   5.0   6.05    4.9   4.4   4.66    4.8   5.4   6.47    6.0   5.0   5.08    5.9   6.4   6.49    4.3   5.8   5.810   5.1   6.2   6.2
#调用friedman.test函数
friedman.test(data)Friedman rank sum testdata:  data
Friedman chi-squared = 6.8889, df = 2, p-value =
0.03192
#结果显示,三种药之间存在区别。

R语言小白速通R语言小白速通R语言小白速通
懂点R语言懂点R语言懂点R语言
欢迎分享收藏关注欢迎分享收藏关注欢迎分享收藏关注

R语言差异检验:非参数检验相关推荐

  1. R语言差异检验:t检验

    文章目录 @[toc] 单样本t检验 适用条件 具体计算公式 R语言示例 独立样本t检验 适用条件 具体计算公式 R语言示例 配对样本t检验 适用条件 具体计算公式 R语言示例 t检验(student ...

  2. R语言差异检验:单因素方差分析

    文章目录 @[toc] 方差分析介绍 适用条件 分类 R语言 单因素方差分析示例 数据集 示例 多重比较 评估检验的假设条件 t检验可以解决单样本.双样本时的均数比较.当要比较的组多于两个时,t检验方 ...

  3. R语言Brown-Forsythe检验验证组间方差是否相等实战:执行Brown-Forsythe检验、如果各组间的方差不相等我们该怎么办(进行方差分析)

    R语言Brown-Forsythe检验验证组间方差是否相等实战:执行Brown-Forsythe检验.如果各组间的方差不相等我们该怎么办(进行方差分析) 目录 R语言Brown-Forsythe检验验 ...

  4. R语言Goldfeld-Quandt检验实战:检验回归模型中是否存在异方差性(heteroscedasticity)、发生了异常差(heteroscedasticity)问题如何解决

    R语言Goldfeld-Quandt检验实战:检验回归模型中是否存在异方差性(heteroscedasticity).发生了异常差(heteroscedasticity)问题如何解决 目录

  5. R语言Hosmer-Lemeshow检验得到校准曲线的P值实战

    R语言Hosmer-Lemeshow检验得到校准曲线的P值实战 目录 R语言Hosmer-Lemeshow检验得到校准曲线的P值实战 # 校准曲线 # Hosmer-Lemeshow检验

  6. R语言Kolmogorov-Smirnov检验比较两个样本是否来自同一个分布:ks.test函数执行Kolmogorov-Smirnov检验比较两个样本是否来自同一个分布

    R语言Kolmogorov-Smirnov检验比较两个样本是否来自同一个分布:ks.test函数执行Kolmogorov-Smirnov检验比较两个样本是否来自同一个分布 目录

  7. r语言t检验输出检验统计量_数据统计的理解和运用(四)列联表之卡方检验

    前面几期我们介绍了参数检验,t检验和方差分析: 临度科研:数据统计的理解和运用(三)方差分析​zhuanlan.zhihu.com 临度科研:数据统计的理解和运用(二)t检验的应用​zhuanlan. ...

  8. r语言t检验输出检验统计量_[转载]R语言:常用统计检验

    R语言:常用统计检验方法 写在前面 R已经成为当前国际学术界最流行的统计和绘图软件之一,该语言较为简单易学,统计分析功能强大,且具有很强的绘图功能,能够绘制学术出版要求的多种图表.R语言在生物信息学, ...

  9. R语言Kruskal-Wallis检验检验多组组独立样本数据是否来自同分布(均值是否相同):为研究4种不同药物对儿童咳嗽的治疗效果,相似的病人随机分为4组、使用不同药物进行治疗、判断治疗效果是否相同?

    R语言假设检验:使用Kruskal-Wallis检验检验多组组独立样本数据是否来自同分布(检验多组数据的均值是否相同).实现多组数据组间差异的非参数检验(为研究4种不同药物对儿童咳嗽的治疗效果,将25 ...

  10. r语言t检验输出检验统计量_R语言中实现T检验及可视化

    T检验,亦称student t检验(Student's t test),主要用于样本含量较小(例如n < 30),总体标准差σ未知的正态分布.T检验是用t分布理论来推论差异发生的概率,从而比较两 ...

最新文章

  1. 第十四课.马尔科夫链
  2. 电子商务网站的经验教训
  3. 【BFS宽度优先搜索】
  4. 【网络流】【待补】C. Heidi and Library (hard)
  5. 小米 26.5 亿北京拿地;华为印度合作 5G;特朗普 diss 谷歌亚马逊 | 极客头条
  6. c语言中变量后减号大于号,大于等于运算符.ppt
  7. 《疯狂的程序员》 -- 什么是真正的程序员?
  8. 如何快速学从零开始学习3d建模?
  9. LeetCode之报数(简单 模拟 递归)
  10. 国科大学习资料--人工智能原理与算法-2020年期末考试题解析(学长整理)
  11. FPGA中CDC问题
  12. Centos系统下搭建Smokeping 方法
  13. 如何从型号判断NVR支持的接入路数和硬盘数?
  14. 电脑族保护视力的窍门
  15. java小明摘苹果_Java实现 洛谷 P1487 陶陶摘苹果(升级版)
  16. HDU 威威猫系列故事——篮球梦
  17. 词霸天下---词根234【-zo(o)- 动 物】
  18. matlab图像处理 背景字迹消除
  19. 自己动手丰衣足食——更换氙气灯
  20. python每次读取2行,如何在python中分别读取两行

热门文章

  1. c语言去尾法和进一法的例子,用“进一法”和“去尾法”解决问题教学案例
  2. 安卓手机超频CPU(无修饰CPU控制)
  3. 家庭计算机上网必须用到的设备,家庭网络中常见的几种网络设备介绍
  4. PageHelper.startPage和new PageInfo(list)的一些探索和思考
  5. veeam 备份文件服务器,如何用veeam给windows服务器做备份?
  6. 量化投资中收益率的计算方法
  7. 常见的股票量化策略有哪些?
  8. Word:文档中如何批量删除参考文献的引文格式[1]、[2]...
  9. Win7 + VirtualBox安装Mac OS X雪豹操作系统图文详解[转]
  10. Unity商店插件/工具收藏篇