R语言实践——U.Taxonstand标准化动植物科学名

U.Taxonstand标准化动植物科学名

  • 简介
  • 准备工作
    • 支持包的安装:openxlsx、plyr、magrittr
    • U.Taxonstand安装
      • 方法1:GitHub
      • 方法2:devtools
  • 测试
    • 参照github文档测试
      • 1. 加载U.Taxonstand
      • 2. 加载示例数据库
      • 3. 待查科学名以向量字符输入(character vector)
      • 4. nameMatch函数使用
      • 5. 结果解读
    • nameMatch函数详解
      • 1 介绍
      • 2 用法
      • 3 参数解读
      • 4 返回值
    • 原始文献示例测试

简介

U.Taxonstand是近期在Plant Diversity期刊上发表的一个R语言包。用于标准化实际上更应该是通过与国际大型数据库中的接受名进行比较)动植物科学名。本文将根据该库在github上的示例文档来实践操作一下U.Taxonstand。之后会对原始文献里的示例进行重复。

准备工作

支持包的安装:openxlsx、plyr、magrittr

install.packages("openxlsx")
install.packages("plyr")
install.packages("magrittr")

openxlsx用于读取xlsx文件。该文献中检索的数据库皆为xlsx文件。

plyr和magrittr是该文献发表的U.Taxonstand的支持包。

U.Taxonstand安装

博主使用install.packages(“U.Taxonstand”)并未安装成功。

方法1:GitHub

文中提及:U.Taxonstand可在GitHub上开放获取,链接如下:https://github.com/ecoinfor/U.Taxonstand
在网站上下载了zip文件后,直接安装

install.packages("D:/ALL_Softwares/R-4.2.0/U.Taxonstand-main.zip")

博主这里仍是安装失败。因为不擅长使用R,所以使用了第2种方法

方法2:devtools

另外,也可通过devtools包的install_github函数安装,操作如下:

> library("usethis")
> library("devtools")
> install_github("ecoinfor/U.Taxonstand")

R语言实践——U.Taxonstand标准化动植物科学名_第1张图片
随即会让选择安装选项,博主选择1,也就All

等待安装完成后,进行测试。

测试

原始文献的示例有文档,暂不考虑,github上文档示例较为简单,优先实践

参照github文档测试

1. 加载U.Taxonstand

library(U.Taxonstand)

2. 加载示例数据库

data(databaseExample)

从目录中可以看到,加载是U.Taxonstand自带的示例数据库。 也可以根据自己需要创建特定生物类群的数据库。
R语言实践——U.Taxonstand标准化动植物科学名_第2张图片
在这里插入图片描述
可以看到示例数据库中有超10万条数据。

3. 待查科学名以向量字符输入(character vector)

sps <- c("Syntoma comosum (L.) Dalla Torre & Sarnth.", "Turczaninowia fastigiata (Fisch.) DC.",
"Zizyphora abd-el-asisii Hand.-Mazz.")

GitHub的示例科学名很少,仅有3个。在原始文献示例中则通过读取xlsx文件的方式输入大量待查询学名。
在这里插入图片描述

4. nameMatch函数使用

nameMatch(spList=sps, spSource=databaseExample, author = TRUE, max.distance= 1)

运行结果如下:
R语言实践——U.Taxonstand标准化动植物科学名_第3张图片

5. 结果解读

上图中,nameMatch函数输出了一个包含22个条目的结果。根据原始文献,这些条目依次的含义为:

column 含义
Sorter 序列号,如果用户没有为待查科学名数据指定此列,在导入R后会自动生成
Submitted_Name 待查科学名数据的物种科学名
Submitted_Author 待查科学名数据的物种命名人
Submitted_Genus 待查科学名数据的物种属名
Submitted_Rank 待查科学名数据的分类等级
Name_in_database 数据库中对应的物种科学名
Author_in_database 数据库中对应的物种命名人
Genus_in_database 数据库中对应的物种属名
Rank_in_database 数据库中对应的物种分类等级
ID_in_database 数据库中对应的物种ID
Name_set 如果用户查找的物种仅在数据库中找到了1个匹配,该值为1;如果有多个匹配,该值为1,2,3…顺序排列的匹配值。如果没有匹配,该值为1。该值序号为1的匹配项即为该物种名本身。
Fuzzy 'True’表示部分或整体使用了模糊匹配。'False’表示未用模糊匹配。
Score 匹配评分。当提交的科学名带命名人时,该值从1到0;当提交的科学名缺少命名人时,该值从0.8至0。该值越大说明匹配越好。
name.dist 提交的科学名与数据库中匹配科学名的距离(distance)
author.dist 提交的科学名命名人与数据库中匹配科学名命名人的距离(distance)
New_name 如果本列为空且Score列值大于0,说明提交的科学名在数据库中为接受名。如果提交的科学名在数据库中检测为异名,则本列会显示数据库中该异名的接受名。如果提交的科学名未解决或作为异名未能在数据库中匹配到接受名,该列会显示[Accepted name needs to be determined]
New_author 根据New_name列显示命名人
New_ID 根据New_name列显示ID
Family 数据库中的科名
Name_spLev 如果提交的科学名不能在所属分类等级中查到匹配,就会在此处显示种级匹配结果。例如无法在亚种中匹配Agropyron caesium subsp. caesium var. caesium,便会在此处显示Agropyron caesium,同时Name_in_database列为空。
Accepted_SPNAME 只要提交的科学名可以在数据库中找到匹配值,不管匹配到了接受名或异名,此处会显示接受名。
NOTE 此处展示一些备注信息。比如没有匹配值或匹配值多个,亦或是只匹配到种级科学名。

nameMatch函数详解

1 介绍

原文直译:用已接受的名称替换异名,并消除原始名称中的拼写错误。
理解:正如本文开头所讲,U.Taxonstand包实现的途径是比较,所以该函数返回的结果不会替换查询名,只会像《5.结果解读》中那样将比较的结果显示出来。

2 用法

nameMatch(
  spList = NULL,
  spSource = NULL,
  author = TRUE,
  max.distance = 1,
  genusPairs = NULL,
  Append = FALSE
)

3 参数解读

  • spList:包含查询类群的数据集或字符向量。*在示例数据“spExample”中可以找到一个数据集例子。*通过字符向量指定查询类群,其中每个元素属名和种加词,可能还包括作者和种下缩写。
    spExample包含了289个查询类群,每个类群有名称、作者和分类等级(查询等级)R语言实践——U.Taxonstand标准化动植物科学名_第4张图片

  • spSource:包含标准化类群名称(接受名)数据库的数据集。*可以在“databaseExample”中找到一个示例数据集。*许多可以被U.Taxonstand直接使用的动植物数据库可以在线获取:https://github.com/nameMatch/Database。也可以在我上传的资源中下载。 它们包括苔藓植物、维管植物、两栖动物、鸟类、鱼类、哺乳动物和爬行动物的全球分类数据库。其他生物分类群的全球数据库将来可能会被放在这个网站上。

    示例数据库包含10万多条数据,每条数据含有8个值:ID、名称、作者、属、分类等级、接受名ID、科、简约名。
    R语言实践——U.Taxonstand标准化动植物科学名_第5张图片

  • author:逻辑变量。如果为TRUE(默认值),该函数会尝试匹配查询类群的作者名,并计算作者名的匹配距离。

  • max.distance:数值。当需要修正科学名中的拼写作物时,该值规定了agrep(模糊匹配法)匹配时的最大距离。

  • genusPairs:许多属有一个或多个拼写变体(比如Euodia 与 Evodia, Eccremis 与 Excremis, Ziziphus 与 Zizyphus)。当你提供了一个包含这样的属的列表时,U.Taxonstand会将列表里的数据作为补充,用于用户查询类群和数据库间的匹配。数据文件是包含两列的数据集(Genus01 和 Genus02)。

    示例数据集中包含了355对拼写变体。
    R语言实践——U.Taxonstand标准化动植物科学名_第6张图片

  • Append:逻辑变量。 如果为TRUE,函数将在最终结果里添加数据库的其他列值(比如:地理分布,不同语言的俗名)

4 返回值

与《5. 结果解读》相同。

原始文献示例测试

首先,原始文献的链接,在里面下载附件。另外还需要准备数据库数据,既可以从github下载,也可以从我的资源里下载,数据量比较大,压缩包约300M。

在附件中就包含了示例脚本“R_ script_U.Taxonstand_Test.r”。只需要将其中的文件路径更改为自己对应的地方即可。不做赘述。

首次运行时,当用到模糊匹配时,R将自动安装pbapply,如果没有的话。待安装完成后,会接着完成模糊匹配。整个过程耗时大概5分钟左右,完成了289个查询项,生成了314个匹配项。感兴趣的你可以亲自尝试一番。

只能对种名进行匹配吗?目前来看确实如此

你可能感兴趣的:(R语言,r语言)