1 背景
考察报告中,植物名录是很重要的,而编写植物名录,统计植物的科、属、种等虽然并不复杂,但是非常繁琐,有时野外考察可能只用一两天,而编辑和校对植物名录可能需要数天时间。
plantlist程序包的count_taxa()
函数可十分方便地统计科、属、种的数目,而make_checklist()
函数可按照一定要求生成markdown格式的植物名录,该文件可用Rstudio或者pandoc等软件转换为html、docx、 pdf、 tex等多种格式。
本文简要介绍这两个函数的用法。
1.1 问题一. 现有若干植物中文名,请统计这些植物出现在多少个科?多少个属?每个科、属下各有多少个种?
解析:给定植物中文名,为了查明科、属、种的数目,可以按照以下思路解决:
去掉重复的中文名
去掉《中国植物志》等数据库中不能匹配的中文名
查询每个种在《中国植物志》接受的拉丁学名以及科、属
科名现在一般只按照APG系统的科名(APG III或者APG IV)
提取拉丁学名中的属名
分别对科、属、种的出现情况进行汇总
1.2 问题二. 现有若干植物中文名,请按照系统发育顺序生成植物名录,要求科按照系统发育顺序排列,属和种分别按照字母顺序排列
解析: 植物名录是对某地所出现所有植物的编目,常包括几百种甚至上千种。正式出版的植物名录,一般按照类群的系统发育顺序排列,从大类群上来看,按照:苔藓植物、蕨类植物、裸子植物、被子植物的顺序排列。其中,蕨类植物、裸子植物、被子植物都已经有基于分子系统学证据排列的科顺序号。科以下等级,如果是地区等级的名录,常按照属名的字母顺序排列。如果是类群专著,一般是按照类群内系统发育顺序,该顺序多是植物分类学家按照自己的观点排列的,由于多反映个人观点,有时候争议较大,这里不针对某一具体类群(例如菊科)的族、属、系、组、种的排列顺序深入讨论。为了便于查询,同时方便用计算机自动生成名录,这里,属和种按照字母顺序排列。
具体来讲,可按照如下思路生成名录:
用`plantlist::CTPL()`函数查询植物的科、属、种、分布、濒危等级等信息
标本引证信息可通过`merge`函数添加到`CTPL`的查询结果上(本文示例未提供标本引证)
提取名录中出现的科、属、种,并按照系统发育顺序排列(具体参见`CTPL`查询所得的科名顺序号)
遇到类群如苔藓植物、蕨类植物、裸子植物,需要标注在markdown文档中
每个类群下,按照科名循环;每个科下,按照属名循环;每个属下,按照种名循环。这样可以确保种中文名、学名以及物种对应的信息(生境、IUCN等级、分布等)以正确的顺序出现。
在植物名录不需要显示太多内容时,要减少相应信息的显示,为此可设定不同主题(theme),控制显示内容。
2 代码
2.1 安装plantlist程序包
本文介绍的两个函数是plantlist程序包在0.6.0以后增加的,因此使用旧版本plantlist的用户也需要更新。
注意plantlist的最新版本只保存在github (https://github.com/helixcn/plantlist), 请用以下命令安装。
1 | ## 安装plantlist## 版本 > 0.6.1## |
2.2 加载程序包
1 | setwd("/Users/jinlong/compile_checklist/") |
2.3 用count_taxa()统计科属数目
1 | # 植物名species_names <- c("西康玉兰", |
2.4 用make_checklist生成植物名录
生成的文件为markdown格式,请参考
https://rmarkdown.rstudio.com/index.html
https://zh.wikipedia.org/wiki/Markdown
1 | checklist_dat2 <- CTPL(species_names, print_as_list = FALSE) |
2.4.1 简洁版,只列出引证的标本
1 | make_checklist(checklist_dat2, |
2.4.2 复杂版,尽量列出数据库已经有的信息
1 | make_checklist(checklist_dat2, |
2.4.3 极简版,只列出中文名和拉丁名
1 | make_checklist(checklist_dat2, |
2.5 markdown源代码
图1. 植物名录的Markdown源代码
2.6 用rmarkdown程序包编译md文件,生成名录
markdown文档既可以用rmarkdown程序包编译为html格式,也可以用pandoc转换为docx、pdf等。
2.6.1 只显示标本引证的Simple主题
1 | rmarkdown::render("checklist_simple.md", encoding = "UTF-8") |
图2. Simple主题
2.6.2 尽量信息物种信息的Complex主题
1 | rmarkdown::render("checklist_complex.md", encoding = "UTF-8") |
图3. Complex主题
2.6.3 只显示中文名和学名的Minimal主题
1 | rmarkdown::render("checklist_minimal.md", encoding = "UTF-8") |
图4. Minimal主题
参考资料
THE ANGIOSPERM PHYLOGENY GROUP. 2009. “An Update of the Angiosperm Phylogeny Group Classification for the Orders and Families of Flowering Plants: APG III.” Botanical Journal of the Linnean Society 161 (2): 105–21.
Christenhusz, M., Zhang, X. C., and Schneider, H. (2011). A linear sequence of extant families and genera of lycophytes and ferns. Phytotaxa. 19:7-54
Christenhusz, M., Reveal, J., Farjon, A., Gardner, M. F., Mill, R. R., and Chase, M. W. (2011). A new classification and linear sequence of extant gymnosperms. Phytotaxa. 19:55-70
Haston, E., Richardson, J. E., Stevens, P. F., Chase, M. W. and Harris, D. J. (2009). The Linear Angiosperm Phylogeny Group (LAPG) III: a linear sequence of the families in APG III. Botanical Journal of the Linnean Society, 161(2), 128-131.
Liu Bing, Ye Jianfei, Liu Su, Wang Yuan, Yang Yong, Lai Yangjun, Zeng Gang and Lin Qinwen(2015). Families and genera of Chinese angiosperms: a synoptic classification based on APG III. Biodiversity Science. 23(2), 225-231.