数据挖掘|R-相关性分析及检验
相关系数可以用来描述定量变量之间的关系。结果的正负号分别表明正相关或负相关,数值的大小则表示相关关系的强弱程度。
R可以计算多种相关系数,今天主要介绍常见的三种:Pearson相关系数、Spearman相关系数 和 Kendall相关系数。这三种相关系数均可以通过R语言的cor函数计算,method函数指定即可。
一 相关性分析
1.1 Pearson相关系数
度量两个连续变量之间的线性相关程度,需要两个变量的标准差都不为零。此外皮尔逊相关系数适用条件为:
1)变量之间为线性关系,且均为连续数据。
2)变量总体呈正态分布,或接近正态。
x<-mtcars[,c("disp","hp","drat")]
y<-mtcars[,c("disp","hp","drat")]
cor(x,y,method = "pearson")
disp hp drat
disp 1.0000000 0.7909486 -0.7102139
hp 0.7909486 1.0000000 -0.4487591
drat -0.7102139 -0.4487591 1.0000000
1.2 Spearman等级相关系数
衡量非线性关系变量间的相关系数,是一种非参数的统计方法。变量是成对的等级评定,或者是由连续变量观测资料转化得到的等级资料。
x<-mtcars[,c("cyl","gear","carb")]
y<-mtcars[,c("cyl","gear","carb")]
cor(x,y,method = "spearman")
cyl gear carb
cyl 1.0000000 -0.5643105 0.580068
gear -0.5643105 1.0000000 0.114887
carb 0.5800680 0.1148870 1.000000
Spearman等级相关系数是根据每个值所处的排列位置的差值,求相关性系数。可用于计算实验数据分析中的不同组学数据之间的相关性。
1.3 Kendall秩相关系数
也是一种非参数的等级相关度量,类似Spearman相关系数。对象是分类变量。可以无序,性别(男、女)、血型(A、B、O、AB);可以有序,评分(优、中、差)等。
X<- c(3,1,2,2,1,3)
Y<- c(1,2,3,2,1,1)
cor(X,Y,method="kendall")
[1] -0.2611165
假设X Y 分别为两个裁判对选手的评级---3为优,2为中,1为差,结果可以看出两位裁判对选手们的看法呈相反趋势,但相反程度不大。
二 相关性显著性检验
2.1 单次相关关系检验
使用cor.test()函数,cor.test(x,y,alternative=,method=)。
其中的x和y为要检验相关性的变量,alternative指定进行双侧检验或单侧检验(取值"two.side"、"less"或"greater"),method指定计算的相关类型("pearson"、 "kendall"或"spearman")。
cor.test(mtcars[,"disp"],mtcars[,"hp"])
2.2 计算相关矩阵并进行显著性检验
psych包中 corr.test()函数。corr.test(x, y = NULL, use = "pairwise",method="pearson",adjust="holm",alpha=.05,ci=TRUE,minlength=5)
corr.test(mtcars[,1:10], adjust = "none", use = "complete")
可得到矩阵数据集中两两变量之间得相关系数以及显著性检验得P值。
OK, 注意要根据变量的实际情况选择合适的相关系数以及显著性检验的计算方式。
之前介绍了绘图系列|R-corrplot相关图进行相关系数的可视化,后面也会再介绍一些其他的相关系数可视化的函数。
- Selenium的使用方法简介
- 爬虫代理哪家强?十大付费代理详细对比评测出炉!
- HTML5中类jQuery选择器querySelector的使用
- Ceph 集群整体迁移方案
- CSS3矩阵变换
- 可直接运行
- Ryu:网络时延探测应用
- box布局
- Event Loop
- 把图片变成字体,然后在引入到网页
- Flutter环境搭建
- java.net.ConnectException: Call From slaver1/192.168.19.128 to slaver1:8020 failed on connection exc
- 18/03/18 04:53:44 WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your clu
- 技术干货 | Hadoop3.0稳定版安装攻略来啦!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 搭建简易的物联网服务端和客户端-Nodejs_net(二)
- 搭建简易的物联网服务端和客户端-Nodejs_mysql(三)
- 搭建简易的物联网服务端和客户端-net+mysql(四)
- 搭建简易的物联网服务端和客户端-Nodejs_express服务(六)
- TF中Placement的最后一道防线——Placer
- 搭建简易的物联网服务端和客户端-ECharts数据显示(七)
- 搭建简易的物联网服务端和客户端-整合(八)
- 搭建简易的物联网服务端和客户端-Maibu显示(九)
- 搭建简易的物联网服务端和客户端-DCloud手机端(十)
- 整理了一份 Docker系统知识,从安装到熟练操作看这篇就够
- 搭建简易的物联网服务端和客户端-第一次增补(十一)
- 搭建简易的物联网服务端和客户端-第二次增补(十二)
- 使用jest进行单元测试
- 搭建简易的物联网服务端和客户端-数据库功能增加(十三)
- 分享一个关于Cookie做的实验结果