R语言【rgbif】——什么是多值传参?如何在rgbif中一次性传递多个值?多值传参时的要求有哪些?

rgbif版本:3.7.8.1

什么是多值传参?

您是否在使用rgbif时设想过,给某个参数一次性传递许多个值,它将根据这些值独立地进行请求,各自返回独立的结果。

rgbif支持这种工作模式,但是具体的细节需要进一步地学习才能掌握,避免在使用时出现事与愿违的结果。

如何在rgbif中一次性传递多个值?

在使用rgbif的方法时,向某个参数传入多个值,用户的表达语句差之毫厘,代码结果就会失之千里。

比如说下面的两行代码,以向量类型传入两个值,它们会分别为taxonKey=1taxonKey=212发出独立的请求:

r 复制代码
c <- occ_search(taxonKey=c(1,212))
d <- occ_data(taxonKey=c(1,212))

返回的结果是将两次独立请求的结果组成的列表。

而如果传入的两个值变为一整条字符串时,它们不会认为要进行两次独立的请求,比如说:

r 复制代码
c1 <- occ_search(taxonKey="1;212"))
d1 <- occ_data(taxonKey="1;212"))

故而结果也是一次独立请求返回的:

多值传参时的要求有哪些?

通过上面的示例,您可能对于rgbif支持的多值传参有了初步了解。但还远远不够,您有必要知道更多有关多值传参的信息。

以occ_search为例,某些参数可以接受将多个值组成向量c("a","b"),这样向量中的每个值都会发起一次独立的请求;而另外一些参数接受多个值组成一个由分号分隔的字符串"a;b",这样只会发起一次请求。

尤其要注意的一点是,在每次独立的请求中,只能有一个参数是多值的。因此,在使用occ_search时,可以同时传入一个向量型多值参数和一个字符串型多值参数,也可以单独传入一个向量型多值参数或一个字符串型多值参数。下面通过2个例子说明:

第一种情况是同时传入一个向量型多值参数和一个字符串型多值参数,譬如:

r 复制代码
e <- occ_search(taxonKey="1;2",basisOfRecord = c("PRESERVED_SPECIMEN","LIVING_SPECIMEN","MATERIAL_CITATION"))

第二种情况是一个向量型多值参数或字符串型多值参数,譬如:

r 复制代码
f <- occ_search(occurrenceStatus=c("PRESENT","ABSENT"))

首先,您要清楚自己想要发起怎样的请求,然后根据两种不同传参的格式,谨慎地敲出代码,最后在预期的结果框架下进行分析。

occ_search()支持的多值传参

除了下面列出的参数,occ_search()的其余所有参数都支持多值传参:

  • hasCoordinate
  • hasGeospatialIssue
  • occurrenceStatus
  • search
  • repatriated
  • isInCluster
  • limit
  • offset

occ_search()的参数详情

相关推荐
路多辛13 分钟前
全能型 Go Agent 框架 covonaut v1.0.8 发布:新增行内补全与多后端可观测性
开发语言·golang·agent
大模型丫丫15 分钟前
FastAPI 入门指南:从零开始构建高性能 Python API
开发语言·python·fastapi
wuyk55527 分钟前
《WiFi 嵌入式物联网开发全套实战》| 第01章 WiFi整体架构详解:BSS/ESS/AP/STA模式彻底区分
开发语言·stm32·单片机·嵌入式硬件·mcu·物联网·51单片机
wuyk55533 分钟前
第六章:CAN 调试工具、抓包分析、全套故障排查 + CAN-FD 进阶拓展
开发语言·stm32·单片机
2501_915106321 小时前
Swift 开发环境搭建指南:三条路径按目标对号入座
开发语言·vscode·ios·objective-c·个人开发·swift·敏捷流程
Mr. zhihao1 小时前
线上卡顿排查决策手册:场景 × 命令 × 现象 × 调整方案
java·开发语言·jvm
一直C2 小时前
【Linux应用编程】深入理解Linux多任务机制:进程原理、状态转换与进程控制实战
linux·开发语言·算法·ubuntu·vim·visual studio code
名字还没想好☜2 小时前
Python asyncio.Queue 实战:用生产者-消费者给爬虫/任务流限速又解耦
开发语言·爬虫·python·并发·asyncio
问君能有几多愁~3 小时前
Qt Json 序列化操作
开发语言·qt·json
xieliyu.3 小时前
MySQL 进阶笔记:用户 / 会话 / 全局 / 局部变量 + CASE 分支语法
开发语言·数据库·笔记·mysql