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

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.mzph.cn/news/201644.shtml

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

相关文章

堆能高效解决的经典问题

关卡名 堆能高效解决的经典问题 我会了✔️ 内容 1.掌握数组中寻找第K的元素 ✔️ 2.理解堆排序的原理 ✔️ 3.合并K个排序链表 ✔️ 1 在数组中找第K大的元素 LeetCode215 给定整数数组nums和整数k&#xff0c;请返回数组中第k个最大的元素。 请注意&#xff0c;你需要…

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

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

海上液化天然气 LNG 终端 ,数字孪生监控系统

液化天然气 (Liquefied Natural Gas&#xff0c;简称 LNG) 在能源转型过程中被广泛认可为相对较清洁的能源选择。 相对于传统的煤炭和石油燃料&#xff0c;LNG 的燃烧过程产生的二氧化碳 (CO2) 排放较低。LNG 的燃烧释放的二氧化碳排放较少&#xff0c;因此对应对气候变化和减…

【Math】高斯分布的乘积 Product of Gaussian Distribution【附带Python实现】

【Math】高斯分布的乘积 Product of Gaussian Distribution【附带Python实现】 文章目录 【Math】高斯分布的乘积 Product of Gaussian Distribution【附带Python实现】1.推导2. CodeReference 结果先放在前面 1.推导 在学习PEARL算法的时候&#xff0c;encoder的设计涉及到了…

MySQL limit导致索引选择(选择的并不是最佳索引)案例分析

mysql limit导致索引选择&#xff08;选择的并不是最佳索引&#xff09;案例分析&#xff1a; 这种情况可能是mysql优化器内部bug造成&#xff1a; bug 触发条件如下: 1.优化器先选择了 where 条件中字段的索引&#xff0c;该索引过滤性较好&#xff1b; 2.SQL 中必须有 orde…

k8s中Service负载均衡和Service类型介绍

目录 一.service介绍 二.service参数详解 三.定义service的两种方式 1.命令行expose 2.yaml文件 四.service负载均衡配置 1.kube-proxy代理模式 &#xff08;1&#xff09;设置ipvs &#xff08;2&#xff09;负载均衡调度策略 2.会话保持 3.案例演示 五.四种Servi…

[Python]字典的应用:赋值表达式转化为字典

文件中有很多行&#xff0c;每行中一个等号&#xff0c;等号左边是键右边是值&#xff0c;如何把这些键值对获取到 def read_key_value_pairs(file_path):key_value_pairs {}i 0# 注意解码格式与编码格式相统一with open(file_path, r, encodingutf-8) as file:for line in…

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

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

C# OpenCvSharp DNN 深度神经网络下的风格迁移模型

目录 介绍 效果 项目 代码 下载 C# OpenCvSharp DNN 深度神经网络下的风格迁移模型 介绍 深度神经网络下的风格迁移模型&#xff0c;适用于OpenCv、EmguCv。 斯坦福大学李飞飞团队的风格迁移模型是一种基于深度学习的图像处理技术&#xff0c;可以将一张图像的风格转移…

ArcGIS模型构建器--制作工具篇

基础知识点&#xff1a; 变量替换 1、要素替换 %name%&#xff0c;name为替换的名字 2、工作空间替换(拷贝给其他人仍可使用) 新建一个工作空间变量workspace %workspace%\%name% 中间数据处理 在模型构建器界面运行模型&#xff0c;会生成中间数据。 中间数据处理方法…

高性能网络编程 - 白话TCP 三次握手过程

文章目录 概述TCP协议头的格式TCP Finite State Machine (FSM) 状态机三次握手如何在 Linux 系统中查看 TCP 状态 概述 每一个抽象层建立在低一层提供的服务上&#xff0c;并且为高一层提供服务。 我们需要知道 TCP在网络OSI的七层模型中的第四层——Transport层 -----------…

mysql源码linux环境部署

文章目录 一、mysql下载地址二、安装步骤1.cd /usr/local/ #切换到此目录下2.上传mysql安装包到该目录下3.解压并且移动文件到 /usr/local/mysql目录下 三、创建用户组&#xff0c;分配权限四、修改文件总结 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参…

对比传统跨网文件交换方式,文件摆渡系统拥有4大优势!

网络隔离已是较为常见的网络安全保护措施&#xff0c;越来越多公司进行隔离网建设来隔绝外部网络有害攻击&#xff0c;但隔离后不少数据和文件仍需进行流转&#xff0c;就产生了跨网数据交换需求&#xff0c;在过去&#xff0c;企业使用较多的传统跨网文件交换方式有移动介质、…

扩散模型实战(十四):扩散模型生成音频

推荐阅读列表&#xff1a; 扩散模型实战&#xff08;一&#xff09;&#xff1a;基本原理介绍 扩散模型实战&#xff08;二&#xff09;&#xff1a;扩散模型的发展 扩散模型实战&#xff08;三&#xff09;&#xff1a;扩散模型的应用 扩散模型实战&#xff08;四&#xff…

基于MySQL+IDEA+Mybaits开发的OA办公系统

基于MySQLIDEAMybaits开发的OA办公系统 项目介绍&#x1f481;&#x1f3fb; 本项目是一个基于MySQL、Tomcat和MyBatis开发的OA管理系统。该系统的主要功能包括系统登录主页面、用户管理、部门管理、职位管理及查询、公告管理及查询、签到处理以及签到图表统计等。 在数据库方面…

ROS小练习——话题订阅

目录 一、话题与消息获取 二、代码编写 1、C 2、python 三、编译运行 一、话题与消息获取 rostopic list rostopic type /turtle1/pose rosmsg info turtlesim/Pose 二、代码编写 1、C //包含头文件 #include "ros/ros.h" #include "turtlesim/Pose…

6.游戏通信方案概述

弱联网游戏和强联网游戏 短链接游戏和长连接游戏 Socket、HTTP、FTP 总结 网络游戏的通信方案大体上可以根据游戏的实际情况分为两种&#xff1a; 长链接&#xff08;强联网&#xff09;游戏和短链接&#xff08;弱联网&#xff09;游戏 网络游戏的三种通信方案&#xff1a; 1.…

uniapp得app云打包问题

获取appid&#xff0c;具体可以查看详情 也可以配置图标&#xff0c;获取直接生成即可 发行 打包配置 自有证书测试使用时候不需要使用 编译打包 最后找到安装包apk安装到手机 打包前&#xff0c;图片命名使用要非中文&#xff0c;否则无法打包成功会报错

【Kubernetes】kubeadm安装k8s1.25.0高可用集群

k8s集群搭建&#xff08;v1.25.0&#xff09; 一、初始化实验环境二、安装containerd服务2.1、安装containerd2.2、安装docker2.3、配置镜像加速器三、安装初始化k8s需要的软件包四、kubeadm初始化k8s集群4.1、设置容器运行时4.2、生成并修改配置文件4.2、初始化安装4.3、修改c…

DHCP Host Name

文章目录 前言DHCP OptionOption (12) Host Namednsmasq 前言 打开路由器页面&#xff0c;看到下面连接的设备&#xff0c;有的显示设备名称 Tmall-Genie、ESP-C37CE8&#xff0c;而有的直接显示 MAC 地址 D2:B0:XX:XX:XX:XX。 这个名称是哪里来的呢&#xff1f; 这就是我们今…