R语言进行相关性分析

Python011

R语言进行相关性分析,第1张

相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。相关性分析旨在研究两个或两个以上随机变量之间相互依存关系的方向和密切程度。

一般来讲研究对象(样品或处理组)之间使用距离分析,而元素(物种或环境因子)之间进行相关性分析 。两个变量之间的相关性可以用简单相关系数(例如皮尔森相关系数等)进行表示,相关系数越接近1,两个元素相关性越大,相关系数越接近0,两个元素越独立。

Pearson相关系数是用于表示相关性大小的最常用指标,数值介于-1~1之间,越接近0相关性越低,越接近-1或1相关性越高。正负号表明相关方向,正号为正相关、负号为负相关。适用于两个正态分布的连续变量。

利用两变量的秩次大小来进行分析,属于非参数统计方法。适用于不满足Pearson相关系数正态分布要求的连续变量。也可以用于有序分类变量的之间的相关性测量。

Kendall's Tau相关系数是一种非参数检验,适用于两个有序分类变量。

此外衡量两个变量之间关系的方法还有:卡方检验、Fisher精确检验等。

Pearson、Spearman、Kendall相关系数都可以通过cor函数实现,cov协方差函数参数同cor函数。

ggcorrplot包内只有2个函数,一个cor_pmat()用于计算p值,一个ggcorrplot()用于绘图。ggcorrplot相当于精简版的corrplot包,只有主题更加丰富多样。

This function computes and returns the distance matrix computed by using the specified distance measure to compute the distances between the rows of a data matrix.

这个函数用特定的方法计算矩阵的行之间的距离,并返回距离矩阵。

scale是对矩阵的每一列进行标准化,如果要对行标准化需要先转置。如 heatmapdata <- t(scale(t(heatmapdata)))

样本自相关函数r的定义式,以下以一维自相关函数为例说明其性质,多维的情况可方便地从一维情况推广得到。 对称性:从定义显然可以看出R(i) = R(−i)。连续型自相关函数为偶函数 当f为实函数时,有: R_f(-\tau) = R_f(\tau)\, 当f是复函数时,该自相关函数是厄米函数,满足: R_f(-\tau) = R_f^*(\tau)\, 其中星号表示共轭。 连续型实自相关函数的峰值在原点取得,即对于任何延时 τ,均有 |R_f(\tau)| \leq R_f(0)。该结论可直接有柯西-施瓦兹不等式得到。离散型自相关函数亦有此结论。 周期函数的自相关函数是具有与原函数相同周期的函数。 两个相互无关的函数(即对于所有 τ,两函数的互相关均为0)之和的自相关函数等于各自自相关函数之和。 由于自相关函数是一种特殊的互相关函数,所以它具有后者的所有性质。 连续时间白噪声信号的自相关函数是一个δ函数,在除 τ = 0 之外的所有点均为0。 维纳-辛钦定理(Wiener–Khinchin theorem)表明,自相关函数和功率谱密度函数是一对傅里叶变换对: R(\tau) = \int_{-\infty}^\infty S(f) e^{j 2 \pi f \tau} \, df S(f) = \int_{-\infty}^\infty R(\tau) e^{- j 2 \pi f \tau} \, d\tau. 实值、对称的自相关函数具有实对称的变换函数,因此此时维纳-辛钦定理中的复指数项可以写成如下的余弦形式: R(\tau) = \int_{-\infty}^\infty S(f) \cos(2 \pi f \tau) \, df S(f) = \int_{-\infty}^\infty R(\tau) \cos(2 \pi f \tau) \, d\tau.

没啥特别的意思,在统计学中,斯皮尔曼等级相关系数以Charles Spearman命名,并经常用希腊字母ρ(rho)表示其值;R里面中cor函数中用到的三种method,分别用:

Spearman's rank correlation rho

Pearson's product-moment correlation

Kendall's rank correlation tau。