R语言【rgbif】——最全最详细的函数解读(name_suggest)

news2024/11/25 0:27:23

name_suggest最全最详细的参数解读

    • 1. name_suggest的基本情况
    • 2. name_suggest的参数
    • 3. name_suggest的示例与理解
      • 3.1 参数 【q】
      • 3.2 参数【rank】
      • 3.3 参数【limit】
      • 3.4 参数【fields】
      • 3.5 参数【datasetKey】
      • 3.6 参数【curlopts】

1. name_suggest的基本情况

name_suggest是用rgbif下载物种分布数据的第一步,当然是至关重要的。

在这里插入图片描述

name_suggest是一个快速且方便的自动化补全服务函数,它通过对学名进行前缀匹配,至多返回20个名称,这些名称按照相关性进行排序。

name_suggest(
	q = NULL,
	datasetKey = NULL,
	rank = NULL,
	fields = NULL,
	start = NULL,
	limit = 100,
	curlopts = list()
)

2. name_suggest的参数

参数传入类型描述
q需要字符型,必填参数最简便的检索参数。传入此参数的值可以是只是一个简单的单词或短语。使用单个单词时可以附加通配符。
datasetKey需要字符型根据数据集标识符(uuid)进行筛选,或者说是从特定数据集中进行检索。
rank需要字符型传入一个分类阶元,可选项包括:class, cultivar, cultivar_group, domain, family, form, genus, informal, infrageneric_name, infraorder, infraspecific_name, infrasubspecific_name, kingdom, order, phylum, section, series, species, strain, subclass, subfamily, subform, subgenus, subkingdom, suborder, subphylum, subsection, subseries, subspecies, subtribe, subvariety, superclass, superfamily, superorder, superphylum, suprageneric_name, tribe, unranked, or variety。
fields需要字符型决定返回的data.frame中的字段,或者说是对返回结果的列进行增减。
start需要整数型决定从第几条结果开始返回。默认为0。一般与limit配合使用。
limit需要整数型决定返回结果数量的上限。默认为100。最大值为1000。
curlopts传递给HttpClient的命名curl选项列表。有关curl选项,请参见curl::curl_options。

3. name_suggest的示例与理解

通过一些示例可以对此函数的用法和参数有更深入的了解。

3.1 参数 【q】

==首先,此参数是必填的。==其次,传入此参数的值既可以是学名的全部部分,需要注意一点的是,部分必须是从学名的首字母开始,因为name_suggest使用的是针对前缀的匹配方法。

有两个例子可以帮助理解:

例1name_suggest(q='Puma concolor')
例2name_suggest(q='Puma')

例1中,我们传入了完整的学名,而在例2中,我们传入了部分的学名(是完整学名的前半部分)。

下面我们看一下两个例子的结果:

例1结果分析

在控制台中可以看到下图的输出结果

在这里插入图片描述

  • 第一行指明返回了32条记录。
  • 第二行指明的也许是分类阶元此类信息(暂不了解)
  • 第三行指明的是一些请求信息和返回结果的字段名称(即列名称)。请求信息包括 q=Puma concolor, limit=100,而列名称包括 fields1=key(标识符),field2=canonicalName(标准化名称),filed3=rank(分类阶元)

加深理解:即使输入了完整学名,当试图获取种级物种信息时,也会返回许多种下等级的信息,更不用说在请求种级以上类群名称时的情况了,譬如例2。

例2结果分析

在控制台中可以看到下图的输出结果,与例1的结果结构相差无几。

在这里插入图片描述

加深理解:例2返回了100条记录,原因很可能是limit=100的限制结果。

使用参数【q】的注意事项

  1. 传入部分学名时,应从完整学名的起始开始截取。
  2. 无论传入了部分学名还是完整学名,都需要考虑到返回的结果数量受到参数【limit】的限制,从而导致返回的结果=limit<检索到的结果

3.2 参数【rank】

顾名思义,参数【rank】通过判断检索结果的分类阶元是否为传入值来决定是否将该结果返回。

下面我们将通过几个例子来深入理解:

例3name_suggest(q='Puma', rank="genus")
例4name_suggest(q='Puma', rank="subspecies")
例5name_suggest(q='Puma', rank="species")
例6name_suggest(q='Puma', rank="infraspecific_name")

这些例子中,参数【rank】分别被传入了不同的分类阶元,那么它们的结果有什么不同呢?

左边黄框中是name_suggest(q='Puma')的结果,也就是不通过参数【rank】筛选。
右边粉框中自上而下是例3-6的结果。
在这里插入图片描述

例3,4,5,6结果分析:例子的结果结构相差无几,只有结果数量有所变化。

加深理解:这四个例子返回的结果数量相加多于100,也就是参数【limit】导致name_suggest(q='Puma')的结果返回不完整。

特殊情况:参数【rank】可以同时接受多个分类阶元等级输入,例如:name_suggest(rank = c("family", "genus"))

3.3 参数【limit】

2. name_suggest的参数的表格中对参数【limit】的介绍已经十分简明了然。

在前文中,我们已经发现参数【limit】默认的100限制了name_suggest(q='Puma')的所有检索结果。下面我们改变参数【limit】的值来看一下结果的变化:

例7name_suggest(q='Puma', limit=2)
例8name_suggest(q='Puma', limit=200)

在这里插入图片描述

加深理解:虽然帮助文档里说明参数【limit】的上限是1000,但在github的name_suggest appears to ignore the limit parameter 中,已经明确说明参数【limit】的上限就是100,即默认值,相当于此参数失效了。聊胜于无的是,当我们指定参数【limit】的值超过100时,会给出警告信息。

3.4 参数【fields】

此参数决定了返回结果的数据框中的字段信息,即列。

由上文可知,参数【fields】默认的列信息包括:key,canonicalName和rank

我们也可以根据需要进行调整:

例9name_suggest(q='Puma', fields=c('key','canonicalName'))
例10name_suggest(q='Puma', fields=c('key','canonicalName', 'higherClassificationMap'))

在这里插入图片描述
例9,10结果分析:例9的结果很容易理解。但是例10在控制台输出的结果中,并未出现有关higherClassificationMap列的信息。将例10的结果保存在变量中查看,发现higherClassificationMap列储存在名为hierarchy的数据框中,其中每条数据包含的是完整的分类阶元树及对应的标识符。

3.5 参数【datasetKey】

此参数意味着将在指定的数据子集中进行操作。

这里我们尝试输入一个子集的标识符:

73605f3a-af85-4ade-bbc5-522bfb90d847

例11name_suggest(datasetKey = "73605f3a-af85-4ade-bbc5-522bfb90d847")

在这里插入图片描述

特殊情况:参数【datasetKey】支持一次输入多个子集标识符,比如:name_suggest(datasetKey = c("73605f3a-af85-4ade-bbc5-522bfb90d847", "d7c60346-44b6-400d-ba27-8d3fbeffc8a5"))

在这里插入图片描述

3.6 参数【curlopts】

此参数已经脱离了GBIF的范围,在调试时有较大的用处。

比如:name_suggest(q='Puma', limit=200, curlopts = list(verbose=TRUE))

运行上述代码后,控制台中会显示网络请求的一些详情。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1288895.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ROS小练习——话题发布

目录 一、话题与消息获取 1、话题 2、消息 二、代码编写 1、C 2、python 三、编译运行 一、话题与消息获取 打开小乌龟案例 1、话题 rqt_graph rostopic list 2、消息 获取消息类型: rostopic type /turtle1/cmd_vel 获取消息格式: rosmsg info geometry_msgs/Twi…

NFC对物联网开发的影响及用途

当谈到NFC对物联网的影响时&#xff0c;不得不提它的几个重要的优势&#xff0c;可能在未来几年影响着物联网的发展方向。 全球智能手机的普及是其中一个重要因素&#xff1a;市面上已有数十亿部支持NFC的智能手机&#xff0c;专家们相信这个数字还会大幅增长。智能手机用户已…

2023年美赛获奖结果分析(附中英文版赛题)

023年美国大学生数学建模竞赛&#xff08;MCM/ICM&#xff09;成绩已经公布&#xff0c;现在就请跟随着忠哥一起通过Python 进行大数据分析吧&#xff01; 美赛成绩分析 2023年美国大学生数学建模竞赛MCM参赛队伍总数为11296支&#xff0c;ICM参赛队伍总数为9562支&#xff0…

PostGIS学习教程九:空间连接

PostGIS学习教程九&#xff1a;空间连接 空间连接&#xff08;spatial joins&#xff09;是空间数据库的主要组成部分&#xff0c;它们允许你使用空间关系作为连接键&#xff08;join key&#xff09;来连接来自不同数据表的信息。我们认为“标准GIS分析”的大部分内容可以表示…

创建Vue2项目,引入chart.js,并生成柱形图

1. 创建一个新的 Vue 2 项目 如果你还没有创建项目&#xff0c;可以使用 Vue CLI 来创建一个新项目。首先确保你已经安装了 Node.js 和 npm。然后安装 Vue CLI 并创建一个新项目。 npm install -g vue/cli vue create my-vue-chart-project在创建过程中选择 Vue 2 版本。 2.…

物料做出库的时候提交,提示 【即时成本为0】

【财务会计】——【出库核算】——【材料出库核算】

成为创作者的第256天——我的创作纪念日

目录 机缘 收获 日常 成就 憧憬 结尾 机缘 最初成为创作者的初心 我最初成为创作者是在大二上学期看到B站有博主在进行职业规划的时候说&#xff0c;可以写博客来记录自己的学习&#xff0c;这样在日后对自己的职业可以有一定的帮助&#xff0c;作为自己的个人名片&#…

多线程(初阶八:计时器Timer)

目录 一、标准库中的计时器 1、计时器的概念 2、计时器的简单介绍 二、模拟实现一个计时器 1、思路 &#xff08;1&#xff09;计数器中要存放任务的数据结构 &#xff08;2&#xff09;存放优先级队列中的类型&#xff1a;自定义任务类MyTimerTask &#xff08;3&…

Vue集成MarkDown编辑器(超详细步骤)

本次博客用于来进行展示如何使用Vue来集成MarkDown编辑器&#xff0c;首先在我们的IDEA的控制台输入以下命令&#xff1a;npm install mavon-editor -S 注意&#xff0c;一定要在vue的哪个目录下执行。 接着&#xff0c;我们在main.js文件中进行引入markdown的文件。 之后我们…

华为认证 | 11月底这门HCIP认证正式发布!

华为认证openGauss高级工程师HCIP-openGauss V1.0&#xff08;中文版&#xff09;自2023年11月30日起&#xff0c;正式在中国区发布。 01 发布概述 基于“平台生态”战略&#xff0c;围绕“云-管-端”协同的新ICT技术架构&#xff0c;华为公司打造了覆盖ICT领域的认证体系&…

对数据库关系代数中除法运算的理解

一、基本概念 1.象集 给定一个关系R(X,Z)&#xff0c;X和Z为属性组&#xff0c;当t[X]x时&#xff0c;x在R中的象集定义为&#xff1a; Z x { t [ Z ] ∣ t ∈ R , t [ X ] x } Z_x\{t[Z]|t\in R,t[X]x\} Zx​{t[Z]∣t∈R,t[X]x} 表示R中属性组X上值为x的诸元组在Z上分量的…

力扣面试经典150题——Unix简化路径

https://leetcode.cn/problems/simplify-path/description/?envTypestudy-plan-v2&envIdtop-interview-150 思路&#xff1a;将串以/分割&#xff0c;判断字符串是…/./其他&#xff0c;进行入栈和出栈&#xff0c;最后留下的就是结果&#xff0c;拼装一下就好了。 三个…

SpringBoot 项目 Jar 包加密,防止反编译

1场景 最近项目要求部署到其他公司的服务器上&#xff0c;但是又不想将源码泄露出去。要求对正式环境的启动包进行安全性处理&#xff0c;防止客户直接通过反编译工具将代码反编译出来。 2方案 第一种方案使用代码混淆 采用proguard-maven-plugin插件 在单模块中此方案还算简…

【用unity实现100个游戏之18】从零开始制作一个类CSGO/CS2、CF第一人称FPS射击游戏——基础篇1(附项目源码)

文章目录 本节最终效果前言搭建环境玩家移动控制摄像机跟随和视角人物奔跑实现跳跃斜坡顿挫感人物卡墙问题源码完结 本节最终效果 前言 生存和射击游戏一直是我的最爱&#xff0c;说起3D最普遍的应该就是射击系统了&#xff0c;你可以在任何情况下加入射击功能&#xff0c;所以…

LoadRunner12.55的简介与安装

提示&#xff1a;https://mp.weixin.qq.com/s/iK-fh0VP7v8mNSDNxjkBow 文章目录 LoadRunner的简介与安装loadrunner概述loadrunner的下载与安装 LoadRunner的使用启用VuGen LoadRunner的简介与安装 LoadRunner官网&#xff1a;https://www.microfocus.com/zh-cn/products/load…

Vue学习计划-Vue2--Vue组件(一)认识组件

1.0 引入组件 传统方式编写应用 使用组件方式编写应用 1.1 模块 理解&#xff1a;向外提供特定的js程序&#xff0c;一般就是一个js文件为什么&#xff1a;js文件很多很复杂作用&#xff1a;复用js,简化js的编写&#xff0c;提高js运行效率 1.2 组件认识 理解&#xff1a; …

ElementPlus table 中嵌套 input 输入框

文章目录 需求分析 需求 vue3 项目中 使用UI组件库 ElementPlus 时&#xff0c;table 中嵌入 input输入框 分析 <template><div class"p-10"><el-table :data"tableData" border><el-table-column prop"date" label&qu…

docker镜像与容器的基本操作,容器打包以及镜像迁移

docker镜像拉取---docker pull docker pull image_name[:tag] 这是直接拉取官方镜像 image_name: 镜像的名称&#xff0c;例如 ubuntu, nginx, mysql 等。tag: 镜像的标签&#xff0c;表示版本或者特定的标识。如果未指定标签&#xff0c;默认为 latest。 例如&#xff0c;…

计算机速成课Crash Course - 08. 指令和程序

今天开始计算机速成课Crash Course的系列讲解。 更多技术文章&#xff0c;全网首发公众号 “摸鱼IT” 锁定 -上午11点 - &#xff0c;感谢大家关注、转发、点赞&#xff01; 计算机速成课Crash Course - 08. 指令和程序 08. 指令和程序 上集我们把 ALU, 控制单元, RAM, 时钟…

无需公网IP实现公网远程访问本地WebDAV服务

windows搭建WebDAV服务&#xff0c;并内网穿透公网访问【无公网IP】 文章目录 windows搭建WebDAV服务&#xff0c;并内网穿透公网访问【无公网IP】1. 安装IIS必要WebDav组件2. 客户端测试3. cpolar内网穿透3.1 打开Web-UI管理界面3.2 创建隧道3.3 查看在线隧道列表3.4 浏览器访…