系统发育比较分析—R

Python019

系统发育比较分析—R,第1张

系统发育树 是研究物种进化历史必不可少的信息,我们可以利用它得到一些重要历史线索,如:

首先,安装系统发育分析所需的软件包

其实,此处的树文件就是一个字符串列表(列表还可以是数字型)。

接下来,主要是看一下这些对象是如何存储在变量中的:

我们可以看到,树中所有分类单元之间的关系信息都包含在每条边的起始节点和结束节点中,共享共同起始节点编号的边是直接共同祖先的后代。

我们还可以测试树文件,编辑以及去除一些末端枝:

布朗模型

(1). 连续型性状进化的一个模型;

(2). 性状随着时间不断变化;

(3). 经过一段时间后,预期的状态将服从正态分布;

(1). 有时称为维纳过程;

(2). 连续时间随机过程;

(3). 描述连续型性状的“随机演化”;

(1). BM可以用来描述由大量独立的弱力组合而产生的运动;

(2). 加入许多小的自变量后,无论原始分布如何(中心极限定理),都会产生正态分布;

演化过程近似布朗运动

Ⅰ. 遗传漂变

Ⅱ. 随机改变

Ⅲ. 相对于考虑的时间间隔弱的自然选择

Ⅳ. 随时间随机变化的自然选择

系统发育独立差(Phylogenetic Independent Contrast, PIC)是去除性状分析中物种系统发育关系的一种方法,是美国进化生物学家 J. Felsenstein于1985年提出的。 参考链接

当时,有动物学家检验了若干哺乳动物脑容量和体重的相关性。然而,所用统计方法都假设各个种的性状是相互独立的,采集自同一个正态分布的总体。由于不同种之间存在系统发育上的联系,因此不能直接套用常规统计模型,所以所得结果也就不可信了。在Felsenstein之前,一些学者已经意识到这个问题,但是都没能给出理想的解决方案。

Felsenstain认真思考了这个问题,并且认为:研究多个不同性状的相关性时,必须考虑系统发育关系。他提出:假设物种性状的进化服从布朗运动,那么用系统发育关系上最近的分类单元性状的差值,再经过枝长加权,就可以得到一组新的数据。这组新的数据去掉了进化信息的干扰,因此可以用常规统计方法检验。上述方法新获得的数据就称为系统发育独立差 (The Phylogenetic Independent Contrast, PIC)。

举例来说,如果要研究哺乳动物脑容量和体重的关系,就要先获得这些种之间的进化关系,也就是经过分子钟校订的进化树。然后再计算脑容量的PIC和体重的PIC,再用脑容量的PIC和体重的PIC建立线性模型,进行相关性检验。

现在让我们来模拟一下布朗运动在树枝上的移动。坚持离散时间,我们首先需要一个离散时间的系统演化,我们可以用pbtree在phytools中进行模拟。

现在,为了在树的所有分支上进行模拟,我们只需要分别在每个分支上模拟,然后根据每个分支的父分支的结束状态“移动”每个子分支。我们可以这样做,记住,因为布朗演化的结果在每个时间步骤是独立于所有其他的时间步骤。

在本教程中,我们将学习应用Felsenstein的独立对比方法来估计性状之间的进化相关性。Felsenstein发现一个以前已经认识到的问题,但这一问题没有得到充分的认识:即从统计分析的角度来看,物种数据不能被视为独立的数据点。

为了学习对比方法,我们首先需要学习一些用r语言拟合线性模型的基础知识。

这个模拟非常简单地表明,当满足标准统计假设时,我们的参数估计是无偏的,并且第一类误差在标称水平或附近。

系统发育数据的困难在于,对于y的观测不再是独立的和相同的分布:

从这个例子中我们可以看出,对于系统发育来说,诱发I类型的错误并不难。这是因为紧密相关的分类群具有高度相似的表型。换句话说,它们并不是关于树上x和y的演化过程的独立数据点.

PGLS还可以使用多个预测变量:

另一种检测系统发育信号的方法是Pagel的lambda。Lambda是一种相对于内部分支延伸尖端分支的树变换,使树越来越像一个完整的多段切除法。如果我们估计的λ=0,则推断这些性状没有系统发育信号。λ=1对应于布朗运动模型,0<lambda<1介于两者之间。

推断祖先状态一直是系统发育比较生物学中一个重要的目标,本教程主要介绍如何在BM以及OU模型下重构祖先性状。第一个例子就是蜥蜴祖先体型大小的状态重建,这是一个连续型变量。

现在我们可以估计祖先的状态,还将计算方差&每个节点的95%置信区间:

卡方拟合优度检验,用于衡量观测频数与期望频数之间的差异

一般地,假设总体分r类 ,分布假设检验问题

在原假设下, 期望频数

假设从总体中随机抽取n个样本,并记 为样本中分到类中的个数,称为 观测频数

K.Pearson在原假设 成立下:

因此,在显著性水平 下,拒绝域为

p-value = 0.9254>0.05,则不应拒绝原假设,孟德尔的结论是成立的。

同理,可以先计算出

某美发店上半年各月顾客数量如下,请问该店各月顾客数是否为均匀分布?

我们用R语言来模拟一下实际操作

R语言实验结果与示例完全相同。

formula代表拟合的公式,如Y~X,则对因变量Y和自变量X作线性拟合拟合模型为 y=a+bx ,如Y 0+X或Y X+0则除对因变量Y和自变量X作线性拟合外,还规定改直线必过原点及拟合模型为 y=x 。

lm对象即lm函数返回的值,其属性包括

常用的有 coefficients , residuals 和 fitted.values ,分别表示拟合的得到的各系数的值、残差和预测值。

可以看出该拟合曲线为y=0.52805925 -0.02797779x

其他值的调用,包括p值,给定x预测的y值,拟合系数R方等需要通过summary函数调用

也可以直接通过 summary(line.model) 打印出大部分与回归直线相关的一些结果