基于Vegan 软件包的生态学数据排序分析
赖江山米湘成
(中国科学院植物研究所植被与环境变化国家重点实验室,北京 100093)
摘要:落学数据一般是多维数据,例如物种属性或环境因子的属性。多元统计分析是落生态学常用的分析方法,排序(ordination)是多元统计最常用的方法之一。CANOCO 是广泛使用的排序软件,但缺点是商业软件价格不菲,版本更新速度也很慢。近年来,R 语言以其灵活、开放、易于掌握、免费等诸多优点,在生态学和生物多样性研究领域迅速赢得广大研究人员的青睐。R语言中的外在软件包“Vegan”是专门用于落生态学分析的工具。Vegan能够提供所有基本的排序方法,同时具有生成精美排序图的功能,版本更新很快。我们认为Vegan包完全可以取代CANOCO,成为今后排序分析的首选统计工具。本文首先简述排序的原理和类型,然后介绍Vegan的基本信息和下载安装过程,最后以古田山24公顷样地内随机抽取40个20m×20m的样方为例,展示Vegan包内各种常用排序方法(PCA,RDA,CA和CCA)和排序图生成过程,希望能为R的初学者尽快熟悉并利用Vegan包进行排序分析提供参考。
关键词:R语言,软件包,落分析,多元统计, PCA, RDA, CA,CCA
Ordination Analysis of Ecological Data Using Vegan Package in R
Jiangshan Lai, Xiangcheng Mi
State Key Laboratory of Vegetation and Environmental Change, Institute of Botany, Chinese Academy of Sciences, Beijing 100093
Abstract: The multidimensional data on community composition, properties of individual populations, or properties of environment are fundamental materials for vegetation science. They need to be analyzed with taking their multidimensionality into account. Multivariate statistical methods are the perfect approaches for statistical analysis of such data sets. Ordination is fundamental in multivariate statistical methods. The CANOCO is popular program for ordination analysis, however, it is commercial software with high price. R language becomes one of the most popular statistical software in the world, because of open source and free. The Vegan package in R is the statistical analysis tools for community data. It has most basic functions of ordination analysis. Most of its multivariate tools can be used for other data types as well. The
paper firstly briefly describes the basic information of Vegan package and its download and installation process, then display several ordination methods: PCA, RDA, CA, and CCA using Vegan, based a data set form 24 ha Gutianshan forest plot. we hope the paper can help R beginners to familiarize Vegan and use  it for their data.
Kew words: R language,package, community analysis,Multivariate statistics, PCA, RDA, CA,CCA
植被生态学研究中一项最基础的工作是基于样方单元的植物落的调查。每个样方内通常包含很多物种的数量信息,原始数据常用矩阵来表示,一般是一行代表一个样方,一列代表一个物种(也可以是其他非生物环境因子)。根据物种的数量信息,可以通过数量分类方法(如聚类分析)将所调查的样方进行分组归类,可以分出不同的落类型。分类是分析植被间断性的有效方法,但不能用于描述落的连续分布。因此,排序方法最初是用于分析落之间的连续分布关系(张金屯 2001),后来经过不断发展,不仅可以排列样方,也可以排列植物种及环境因素,用于研究落之间、落与其环境之间的复杂关系。只使用物种组成数据的排序称作间接排序(indirect ordination),同时使用物种和环境因子组成数据的排序叫做直接排序(direct ordination)。现在排序不仅仅用于植物落分析,也适用于大部分以样点为基础的观察数据或实验数据的分析。
排序的一个重要目的是生成可视化的排序图,这就决定排序过程实际上是将样方或植物种尽可能排列在可视化的低维空间,也就是让最前面几个排序轴尽可能包含大量的生态信息。从数学上讲,排序可以理解为一个几何问题:假设要分析含有P个物种的N个样方之间相互关系,可以把N个样方作为N个点在P维空间进行排列,排列结果虽能准确地反映样方间的相互关系,但是如果P>3维(即物种数大于3),就无法可视化排列结果,只能凭空想象。以最常用的二维排序图为例,排序的过程就是在P维空间内到一个能使N个样方在P维空间内的点都投影到上面的平面,使得在这个平面内投影后的点与点
之间的相对位置能够最大程度反映原来样方间的相对位置。这个投影过程就是排序运算过程。好的排序方法是投影过程信息损失最少。
自上世纪五十年代开始,生态学家开始用排序的方法分析生态学数据,经过半个世纪的发展,现在已经创制出种类繁多排序技术(张金屯 2001)。在现代的排序方法中,最常用的有两类:一类是以基于线性模型的主分量分析(Principal components analysis,PCA)及其衍生出来的冗余分析(Redundancy analysis, RDA);另一类基于非线性模型的对应分析(Correspondence analysis, CA)及其直接梯度分析版本“典范对应分析”(Canonical correspondence analysis, CCA)(TerBraak 1986)。在CA家族中有除趋势对应分析版本(Detrended correspondence analysis, DCA),目的是消除CA排序过程产生的“弓形效应”(Arch effect)(Hill & Gauch 1980)。
能做排序的软件有很多,其中使用最广泛的是荷兰生物统计学家TerBraak和捷克植物生态学教授Smilauer编写的CANOCO软件(TerBraak & Smilauer 2002)。CANOCO简单易学,一直以来大部分以排序为分析手段的论文都是引用这个软件。但CANOCO最大的缺点是已经商业化,价格昂贵,版本更新速度慢。近年来,R语言以其灵活、开放、免费等诸多优点,在生态学和生物多样性研究领域迅速赢得研究者的青睐(R Development Core Team 2010)。R语言里的外在软件包“Vegan”是专用于落生态学分析的工具(Oksanen et al. 2010)。Vegan能够提供所有基本的排序方法,同时能生成精美的排序图,版本更新也很快。我们认为Vegan包完全可以取代CANOCO,成为今后排序分析的首选统计
工具。本文首先简介Vegan的基本信息和下载安装过程,然后以古田山24公顷样地内随机抽取的40个20m×20m 样方为例,展示Vegan包内各种常用排序方法(PCA,RDA,CA和CCA)和排序图生成过程,同时选择部分参数与CANOCO软件进行对比,希望能为熟悉CANOCO但不熟悉R的读者尽快熟悉并利用Vegan包进行排序分析提供参考。
1. Vegen软件包简介及安装
国内源代码网站Vegan是Vegetation analysis的缩写, 是专门用于落生态学数据分析的R语言外在软件包(Package),由芬兰Oulu大学生物系Oksanen等9位数量生态学者编写并贡献给R使用者无偿使用(Oksanen et al. 2010)。Vegan包提供各种落生态学分析工具,包括常用的排序方法(PCA,CA,DCA,RDA,CCA 和NMDS),同时也包括这些方法偏分析版本(Partial methods)。现在升级了的Vegan包几乎包罗了所有落和植被分析中的一般应用方法,其中大部分多元分析工具也可以用于其他领域的数据分析。有关Vegan包的使用手册
(Reference manual) 可以从/web/packages/vegan/index.html下载。Oksanen还编写了一个Vegan包案例分析指南“Multivariate Analysis of Ecological Communities in R: vegan tutorial”,可以从Oksanen个人主页下载:cc.oulu.fi/~jarioksa/opetus/metodi/vegantutor.pdf
Vegan是R统计的一个软件包,必须在R的环境下使用。安装R的源程序可以按照如下步骤先进行 (以W
indows版本的R为例):在网址 下到R的最新版本安装程序和源代码,选择任一镜像网站点击进入:点击Windows,再选择base,下载,即R FOR WINDOWS的安装程序,约30多兆。双击,按照提示一步步安装即可。安装完成后,程序会创建R程序组并在桌面上创建R主程序的快捷方式。通过快捷方式运行R,便可调出R的界面控制台。
Vegen软件包安装到R的源程序可以有两种方式:1.如果电脑已经连接到互联网,在R 界面控制台中输入install.packages("vegan"),选择任一镜像网点后,程序将自动下载并安装程序包;2.安装本地zip包:首先从/web/packages/vegan/index.html 下载zip软件包存储在本地磁盘。注意下载的zip包不必解压缩,从R界面上选择路径:Packages>install packages from local files,选择本地磁盘上存储的zip包文件就可以安装Vegan软件包。安装Vegan包之后,在控制台中输入软件包导入命令:library(vegan),便可以使用vegan包内的函数。由于Vegan不属于R的标准包,每次重新打开R后,如果需要用到Vegan包,都必须重新运行一次library(vegan),否则无法调用Vegan包中的函数。
2.案例分析
以古田山常绿阔叶林24公顷森林样地内随机抽取的40个20m×20m样方为例,展示各种常用排序方法(PCA,CA,RDA和CCA)在R环境下的分析过程。数据有两文件:gtsdata.csv包含40个样方内22个物
种的多度数据(一行代表一个样方,一列代表一个物种,物种名是拉丁名缩写代码);gtsenv.csv 包含40个样方内8个环境因子的数据(4个地形因子:海拔elevation、坡度slope、坡向aspect和凹凸度convexity,4个土壤因子:N、P、K和pH值)。利用这些数据进行以下分析:1. 通过间接排序分析落结构特征(物种之间、样方之间、物种与样方之间的关系);2. 通过直接排序分析物种分布与环境因子之间的关系(8种环境因子对物种分布的总解释量,以及地形因子与土壤因子单独的解释
量。)
案例分析的数据可以从赖江山的博客下载(blog.sciencenet/?267448)。将下
载的数据存储在本地磁盘内,然后将R的界面路径改到数据存储的目录下(File>change direction>选择数据所在地目录)。由于数据是txt文本格式的数据(Excel里面可以将数据
直接存为txt格式),可以用read.table函数将数据读入R控制台(以下这些命令可以直接copy到控制台运行,#在R的运行里表示终止符,#之后的文字是对代码的注解说明):>gtsdata=read.table(“”, header=T) #将物种矩阵数据读入并赋给命名为
“gtsdata”的对象(objects),header=T表示数据第一行和第一列作为数据表头读
入,否则系统自动添加表头
>gtsenv= read.table(“”, header=T) # 将环境因子矩阵数据读入并赋给命名
为“gtsenv”的对象
2.1 选择排序的模型:线性模型 or 单峰模型:
进行排序分析之前,首先要判断是选择线性模型(PCA 和RDA)还是单峰模型(CA 和CCA)的排序方法。一般来说,如果物种分布变化大,选择单峰模型效果比较好,反之,线性模型也是不错。当然,为了选择更合适的模型,你尽可能将各种排序都尝试一下,选择一个你最想要的分析结果和排序图。当然,如果你不知道到底是用线性、还好单峰模型好,有一个比较简单方法可以帮助你来选择。在CANOCO里面,可以先通过DCA分析里面“Lengths of gradient”来判别式选择线性排序还是单峰排序 (Lepx & Smilauer 2003)。同样,在R-vegan里面,可以用DCA分析来判别,R里面DCA为函数decorana():  >decorana(gtsdata)
Call:
decorana(veg = gtsdata)
Detrended correspondence analysis with 26 segments.
Rescaling of axes with 4 iterations.
DCA1  DCA2    DCA3    DCA4
Eigenvalues    0.3939 0.2239 0.09555 0.06226
Decorana values 0.5025 0.1756 0.06712 0.03877
Axis lengths    3.2595 2.5130 1.21445 1.00854
这里的“Axis lengths ”和CANOCO里面DCA分析结果“Lengths of gradient”是一样的。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。