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语言有四种面向对象的系统,一般而言,使用其中最简单的一种就已经足够了。

本文介绍S3,和S4的使用

S3是R中第一个,也是最简单的oo系统,S3不是非常正式,但是其保有一种极简主义的优雅.

在R语言当中,遇到的大多是情况是S3对象,但是R基础包中没有一个方法检验对象是不是S3对象,但是有一个简单的方法检验是不是S3对象 is.object(x)&!isS4(x)

另外一个方法是 pryr::otype()

在S3中,方法称之为泛型函数,S3的方法不属于对象和类。

S3是一个很简单的系统;他没有正式的类定义。为给一个类创建一个对象实例,只需要使用已经有的基础对象并且为对象设置类属性。

使用 structure 创建类对象,或者最后使用 class<–()

大多数S3提供了一个构造函数

构造函数的名字应该和类的名字相同。

为了添加一个新的泛型函数,创建一个调用 UseMethod 的函数。其有两个参数:泛型函数的名字和方法派送的参数:

首先我有一个函数 f

然后就可以写一个类的方法: (generic.class) , f 是函数名, B 是我定义的一个类

注意,这里用到了 f.B .所以在创建函数的时候不建议使用 . 。

在S3中,可以使用类属性设置将任意的对象转变成为一个特定的类对象。

S4则是更严格:必须使用 setClass 来定义类,使用 new() 来创建一个新对象.

S4有一个注意点

下面创建类,并进行继承

setGeneric 可以创建一个新的泛型函数或者将已经有的函数转换成为泛型函数。

setMethod 的参数包括:泛型函数的名字,与该方法关联起来的类,执行方法的函数。例如,将只能用于向量上的 union 应用与数据框上