数据挖掘|R-相关性分析及检验

简介: 数据挖掘|R-相关性分析及检验

本文首发于“生信补给站”公众号 数据挖掘|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"])


image.png

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")


image.png

可得到矩阵数据集中两两变量之间得相关系数以及显著性检验得P值。


   OK, 注意要根据变量的实际情况选择合适的相关系数以及显著性检验的计算方式。

   之前介绍了绘图系列|R-corrplot相关图进行相关系数的可视化,后面也会再介绍一些其他的相关系数可视化的函数。


相关文章
|
5月前
|
数据采集 存储 NoSQL
建筑业数据挖掘:Scala爬虫在大数据分析中的作用
建筑业数据挖掘:Scala爬虫在大数据分析中的作用
|
5月前
|
自然语言处理 算法 数据挖掘
【数据挖掘】十大算法之PageRank连接分析算法
文章介绍了PageRank算法的基本概念和数学模型,包括如何通过一阶马尔科夫链定义随机游走模型以及如何计算网页的重要性评分,并提供了PageRank迭代算法的具体步骤。
120 0
|
5月前
|
自然语言处理 数据可视化 安全
【第十届“泰迪杯”数据挖掘挑战赛】C题:疫情背景下的周边游需求图谱分析 问题一方案及Python实现
第十届“泰迪杯”数据挖掘挑战赛C题的解决方案,涉及疫情背景下周边游需求图谱分析,包括微信公众号文章分类、周边游产品热度分析、本地旅游图谱构建与分析,以及疫情前后旅游产品需求变化分析的Python实现方法。
149 1
【第十届“泰迪杯”数据挖掘挑战赛】C题:疫情背景下的周边游需求图谱分析 问题一方案及Python实现
|
5月前
|
数据挖掘 调度 Python
【第十届“泰迪杯”数据挖掘挑战赛】B题:电力系统负荷预测分析 Baseline
第十届“泰迪杯”数据挖掘挑战赛B题的基线解决方案,涉及电力系统负荷预测分析,包括数据读取、特征处理、模型训练和评估,以及使用了LightGBM进行回归预测。
176 3
|
5月前
|
数据采集 自然语言处理 数据可视化
基于Python的社交媒体评论数据挖掘,使用LDA主题分析、文本聚类算法、情感分析实现
本文介绍了基于Python的社交媒体评论数据挖掘方法,使用LDA主题分析、文本聚类算法和情感分析技术,对数据进行深入分析和可视化,以揭示文本数据中的潜在主题、模式和情感倾向。
402 0
|
5月前
|
机器学习/深度学习 安全 算法
【2023年第十一届泰迪杯数据挖掘挑战赛】A题:新冠疫情防控数据的分析 32页和40页论文及实现代码
本文总结了2023年第十一届泰迪杯数据挖掘挑战赛A题的新冠疫情防控数据分析,提供了32页和40页的论文以及实现代码,涉及密接者追踪、疫苗接种影响分析、重点场所管控以及疫情趋势研判等多个方面,运用了机器学习算法和SEIR传染病模型等方法。
90 0
【2023年第十一届泰迪杯数据挖掘挑战赛】A题:新冠疫情防控数据的分析 32页和40页论文及实现代码
|
5月前
|
机器学习/深度学习 安全 算法
【2023年第十一届泰迪杯数据挖掘挑战赛】A题:新冠疫情防控数据的分析 建模方案及python代码详解
本文介绍了2023年第十一届泰迪杯数据挖掘挑战赛A题的解题思路和Python代码实现,涵盖了新冠疫情防控数据的分析、建模方案以及数据治理的具体工作。
88 0
【2023年第十一届泰迪杯数据挖掘挑战赛】A题:新冠疫情防控数据的分析 建模方案及python代码详解
|
5月前
|
存储 数据可视化 数据挖掘
【第十届“泰迪杯”数据挖掘挑战赛】C题:疫情背景下的周边游需求图谱分析 问题三方案及Python实现
第十届“泰迪杯”数据挖掘挑战赛C题的解决方案,专注于问题三“本地旅游图谱构建与分析”,介绍了基于OTA和UGC数据的旅游产品关联分析方法,使用支持度、置信度、提升度来计算关联度得分,并进行了结果可视化,同时指出了方案的改进方向。
91 1
|
5月前
|
存储 自然语言处理 算法
【第十届“泰迪杯”数据挖掘挑战赛】C题:疫情背景下的周边游需求图谱分析 问题二方案及Python实现
第十届“泰迪杯”数据挖掘挑战赛C题的解决方案,专注于疫情背景下的周边游需求图谱分析,具体针对问题二“周边游产品热度分析”,介绍了从OTA和UGC数据中提取旅游产品、计算产品热度得分、判断产品类型的方法,并给出了Python实现步骤和代码。
101 1
|
5月前
|
数据采集 自然语言处理 数据可视化
基于python数据挖掘在淘宝评价方面的应用与分析,技术包括kmeans聚类及情感分析、LDA主题分析
本文探讨了基于Python数据挖掘技术在淘宝评价分析中的应用,涵盖了数据采集、清洗、预处理、评论词频分析、情感分析、聚类分析以及LDA主题建模和可视化,旨在揭示淘宝客户评价中的潜在模式和情感倾向,为商家和消费者提供决策支持。
116 0

热门文章

最新文章