衡量随机变量相关性的方法主要有三种:pearson相关系数,spearman相关系数,kendall相关系数:

1.       pearson相关系数,亦即皮尔逊相关系数

pearson相关系数用来衡量两个随机变量之间的相关性

R语言中求两个随机变量pearson相关系数的函数:

1//赋予a,b向量值

2a<-c(1,2,3)

3b<-c(11,12,14)

4

5//计算pearson相关系数

6cor.test(a,b,method="pearson")

结果

Pearson's product-moment correlation

data:  a and b

t = 5.1962, df = 1, p-value = 0.121

alternative hypothesis: true correlation is not equal to 0

sample estimates:

cor

0.9819805

总结

P=0.121, cor=0.9819805

2.       spearman相关系数,亦即秩相关系数

spearman和kendall都是等级相关系数,亦即其值与两个相关变量的具体值无关,而仅仅与其值之间的大小关系有关。

spearman相关系数,亦即秩相关系数,根据随机变量的等级而不是其原始值衡量相关性的一种方法。

spearman相关系数的计算可以由计算pearson系数的方法,只需要把原随机变量中的原始数据替换成其在随机变量中的等级顺序即可:

(1,10,100,101)替换成(1,2,3,4)

(21,10,15,13)替换成(4,1,3,2)

然后求替换后的两个随机变量的pearson相关系数即可.

R语言中求两个随机变量的spearman相关系数的函数:

1 //赋予a,b向量值
2 a<-c(1,10,100,101)
3 b<-c(21,10,15,13)
4
 5 //计算spearman相关系数
6 cor.test(a,b,method="spearman")
7 rho=-0.4
8
 9 //用替换后的向量的pearson相关系数进行验证
10 e<-c(1,2,3,4)
11 f<-c(4,1,3,2)
12 cor.test(e,f,method="pearson")
13 cor=-0.4

结果

Spearman's rank correlation rho

data:  a and b

S = 14, p-value = 0.75

alternative hypothesis: true rho is not equal to 0

sample estimates:

rho

-0.4

总结 p=0.75,rho=0.4

3.       kendall相关系数,亦即和谐系数

kendall相关系数又称作和谐系数,也是一种等级相关系数

对于X,Y的两对观察值Xi,Yi和Xj,Yj,如果Xi并且Xj或者Xi>Yi并且Xj>Yj,则称这两对观察值是和谐的,否则就是不和谐的.

R语言中计算kendall相关系数的函数:

1 //赋予a,b向量值
2 a<-c(1,2,3)
3 b<-c(1,3,2)
4
5 //计算kendall相关系数
6 cor.test(a,b,method="kendall")
7 tau=0.3333333333
结果

Kendall's rank correlation tau

data:  a and b

T = 2, p-value = 1

alternative hypothesis: true tau is not equal to 0

sample estimates:

tau

0.3333333

总结:p=1,tau=0.3333333

来源:http://blog.sina.com.cn/s/blog_5d188bc40102vuvj.html

R语言做相关性分析的更多相关文章

  1. 用R语言 做回归分析

    使用R做回归分析整体上是比较常规的一类数据分析内容,下面我们具体的了解用R语言做回归分析的过程. 首先,我们先构造一个分析的数据集 x<-data.frame(y=c(102,115,124,1 ...

  2. R语言做一元线性回归

    只有两个变量,做相关性分析,先来个一元线性回归吧 因为未处理的x,y相关性不显著,于是用了ln(1+x)函数做了个处理(发现大家喜欢用ln,log,lg,指数函数做处理),处理完以后貌似就显著了..虽 ...

  3. 利用R语言打造量化分析平台

    利用R语言打造量化分析平台 具体利用quantmod包实现对股票的量化分析 1.#1.API读取在线行情2.#加载quantmod包3.if(!require(quantmod)){4. instal ...

  4. R语言重要数据集分析研究——需要整理分析阐明理念

    1.R语言重要数据集分析研究需要整理分析阐明理念? 上一节讲了R语言作图,本节来讲讲当你拿到一个数据集的时候如何下手分析,数据分析的第一步,探索性数据分析. 统计量,即统计学里面关注的数据集的几个指标 ...

  5. R语言做文本挖掘 Part5情感分析

    Part5情感分析 这是本系列的最后一篇文章,该.事实上这种单一文本挖掘的每一个部分进行全部值获取水落石出细致的研究,0基础研究阶段.用R里面现成的算法,来实现自己的需求,当然还參考了众多网友的智慧结 ...

  6. R语言重要数据集分析研究——R语言数据集的字段含义

    R语言数据集的字段含义 作者:马文敏 选择一种数据结构来储存数据 将数据输入或导入到这个数据结构中 数据集的概念 数据集通常是有数据结构的一个矩形数组,行表示规则,列表示变量. 不同的行业对数据集的行 ...

  7. [译]用R语言做挖掘数据《五》

    介绍 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: 1. ...

  8. [译]用R语言做挖掘数据《二》

    数据探索 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: ...

  9. [译]用R语言做挖掘数据《一》

    介绍 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: 1. ...

随机推荐

  1. MySQL面试题36道

    MySQL数据库是在免费的数据库中最受欢迎的一款,尤其是在一些小型项目以及项目资金有限的情况下,选择MySQL来作为数据存储的工具,那些不差钱并且数据吞吐量非常大的互联网公司一般都是会用付费的Orac ...

  2. 第 14 章 结构和其他数据形式(names)

    *--------------------------------- names1.c -- 使用指向结构的指针 ---------------------------------*/ #includ ...

  3. Android权限申请完全解析(一):Android自带的权限申请

    1.为什么要权限申请 6.0以上就需要了,别问为什么.(不是重点,自行搜索) 2.如何进行权限申请 Android自带的权限申请 EasyPermission权限申请 Ps:EasyPermissio ...

  4. 一次gcc编译失败分析

    1. 场景: ​ 在使用gcc编译时,编译器报错:xxx:'xxx'未定义的引用 2. 排查过程: 首先,我很自然的想到是不是自己使用了未定义的函数或者将函数名称写错了,在检查了一边过后,我发现自己使 ...

  5. css图片替换方法

    图片替换主要是指将文字替换成图片的技术,即在html语句中使用文字,浏览器显示时用对应的图片显示.其意义在于便于做网站优化(SEO),因为文字才是搜索引擎寻找的主要对象. https://www.cn ...

  6. BZOJ2079:[POI2010]Guilds(乱搞)

    Description Zy皇帝面临一个严峻的问题,两个互相抵触的贸易团体,YYD工会和FSR工会,他们在同一时间请求在王国各个城市开办自己的办事处.这里有n个城市,其中有一些以双向马路相连,这两个工 ...

  7. 11.C++和C的区别,什么是面向对象

    c++封装更好,调用接口,c调用子函数 1.首先C和C++在基础语句上没有太大区别,c++在c基础上改进,兼容大部分c的语法结构.c++面向对象,c面向过程. 2.新增new和delete的语法,引用 ...

  8. 分享一个excel根据文件超链接获取链接文档的最后更新时间

    #获取制定单元格内超链接对应的链接地址Sub geturi() For Each cell In Range("E3:E43") If cell.Hyperlinks.Count ...

  9. grunt项目构建工具

    JS项目构建工具Grunt实践 一:下面来介绍下如何用grunt合并,压缩js文件.    大概步骤有如下:     1. 新建文件夹相对应的项目 比如文件名叫:gruntJs      2. 新建文 ...

  10. JavaScript基础注意点

    1.每个语句结尾一定加上分号 2.JavaScript本身对嵌套{ }的层级没有限制,但是过多的嵌套无疑会大大增加看懂代码的难度.遇到这种情况,需要把部分代码抽出来,作为函数来调用,这样可以减少代码的 ...