欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

r语言系统计算上是奇异的_R语言相关性分析(上)

程序员文章站 2022-05-19 11:57:43
...

接触组学数据这么久了,大家一定少不了分析各种相关性,譬如大到几个转录组样本的整体相关性分析,小到挑选了一些候选基因看它们在不同样本中的表达模式相关性。今天这篇文章给大家讲讲如何利用R语言进行相关性分析。

1 前言

组学数据分析主要有两类,一类是基于被研究对象的位置和序列。一类是基于算法。前者比如说lncRNA与mRNA的antisense和cis的作用关系,miRNA和piRNA的靶向基因预测等。后者就比如说机器学习、降维、聚类等算法。

其中机器学习是通过程序不断迭代来寻找合适的模型。

降维就是将高维数据通过计算,在尽量保证数据原始分布特征的情况下,将数据映射在低维的刻度。

聚类方法很多,常用的是计算欧式距离后,用K-mean聚类算法进行聚类。

K-mean聚类算法就是先随机挑选k个中心,按照距离远近分别聚在一起,然后在聚类的簇里重新选择平均值作为中心点,重新聚类,再不断迭代设置的次数,最后的结果就是聚类结果。

当然如果画树,还涉及分类树的算法。简而言之,麻烦,不详细说了。

相关性分析,这就是本文要详细说的了。

2 相关性分析

相关性分析是一种统计技术。

相关性分析,就是衡量两个变量之间的依赖性强弱

相关性:可以显示两个变量是否相关以及如何相关。例如,身高和体重是相关的; 较高的人往往有更大的体重。那么这种关系就是正相关。那么再例如汽车排量与每升汽油的里程,是负相关的,汽车排量越大,每升汽油跑的里程就越短。

尽管这种相关性非常明显,但您的数据可能包含未预料到的相关性。您可能还会产生怀疑,怀疑两个变量之间是否存在相关性,或者不知道两者之间的依赖和联系程度。这个时候,就需要一种可以量化的指数分析。相关分析可以帮助我们更好地理解数据。

但是,使用相关性分析的时候,我们需要记住的一个关键事项是:永远不要假设相关性就一定意味着A变量的变化会导致B变量的变化。

多年来个人电脑和运动鞋的销售都急剧增长,并且它们之间存在高度相关性,但你不能认为购买电脑会导致人们购买运动鞋(反之亦然)。但可能还是可能存在相同的调节因素,比如社会生产力的提高和经济状况的改善。

1

正负相关性

当两个变量之间存在非常强烈的相互依赖关系的时候,我们就可以说两个变量之间的存在高度相关性。

若两组的值一起增大,我们称之为正相关,若一组的值增大时,另一组的值减小,我们称之为负相关

r语言系统计算上是奇异的_R语言相关性分析(上)

本次我们用R来进行计算和绘图,所用的数据是R自带的mtcars数据。

> mtcars
> head(mtcars)
                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4

Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4

Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1

Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1

Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2

Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1