河南白癜风医院 http://baidianfeng.39.net/a_yqyy/200114/7751294.html1背景
考察报告中,植物名录是很重要的,而编写植物名录,统计植物的科、属、种等虽然并不复杂,但是非常繁琐,有时野外考察可能只用一两天,而编辑和校对植物名录可能需要数天时间。
plantlist程序包的count_taxa()函数可十分方便地统计科、属、种的数目,而make_checklist()函数可按照一定要求生成markdown格式的植物名录,该文件可用Rstudio或者pandoc等软件转换为html、docx、pdf、tex等多种格式。
本文简要介绍这两个函数的用法。
1.1问题一.现有若干植物中文名,请统计这些植物出现在多少个科?多少个属?每个科、属下各有多少个种?
解析:给定植物中文名,为了查明科、属、种的数目,可以按照以下思路解决:
去掉重复的中文名
去掉《中国植物志》等数据库中不能匹配的中文名
查询每个种在《中国植物志》接受的拉丁学名以及科、属
科名现在一般只按照APG系统的科名(APGIII或者APGIV)
提取拉丁学名中的属名
分别对科、属、种的出现情况进行汇总
1.2问题二.现有若干植物中文名,请按照系统发育顺序生成植物名录,要求科按照系统发育顺序排列,属和种分别按照字母顺序排列
解析:植物名录是对某地所出现所有植物的编目,常包括几百种甚至上千种。正式出版的植物名录,一般按照类群的系统发育顺序排列,从大类群上来看,按照:苔藓植物、蕨类植物、裸子植物、被子植物的顺序排列。其中,蕨类植物、裸子植物、被子植物都已经有基于分子系统学证据排列的科顺序号。科以下等级,如果是地区等级的名录,常按照属名的字母顺序排列。如果是类群专著,一般是按照类群内系统发育顺序,该顺序多是植物分类学家按照自己的观点排列的,由于多反映个人观点,有时候争议较大,这里不针对某一具体类群(例如菊科)的族、属、系、组、种的排列顺序深入讨论。为了便于查询,同时方便用计算机自动生成名录,这里,属和种按照字母顺序排列。
具体来讲,可按照如下思路生成名录:
用plantlist::CTPL()函数查询植物的科、属、种、分布、濒危等级等信息
标本引证信息可通过merge函数添加到CTPL的查询结果上(本文示例未提供标本引证)
提取名录中出现的科、属、种,并按照系统发育顺序排列(具体参见CTPL查询所得的科名顺序号)
遇到类群如苔藓植物、蕨类植物、裸子植物,需要标注在markdown文档中
每个类群下,按照科名循环;每个科下,按照属名循环;每个属下,按照种名循环。这样可以确保种中文名、学名以及物种对应的信息(生境、IUCN等级、分布等)以正确的顺序出现。
在植物名录不需要显示太多内容时,要减少相应信息的显示,为此可设定不同主题(theme),控制显示内容。
2代码2.1安装plantlist程序包
本文介绍的两个函数是plantlist程序包在0.6.0以后增加的,因此使用旧版本plantlist的用户也需要更新。
注意plantlist的最新版本只保存在github(