如何使用rgbif下载多值条件下的物种分布数据?
解决rgbif下载蜂科分布数据的报错问题
错误根源
报错信息明确指向pred("year", 1923:2023)这一行——pred()函数对应精确匹配逻辑(=操作符),要求传入的value参数长度必须为1,你传入的是包含101个值的年份向量,触发了长度校验错误。
修复代码
针对年份范围查询,必须用pred_between()函数指定数值区间,替换原来的pred()。修改后的完整代码:
beeFamilyName <- c('Apidae', 'Halictidae', 'Megachilidae', 'Andrenidae', 'Colletidae', 'Melittidae', 'Stenotritidae') beeFamilyBackbone <- name_backbone_checklist(beeFamilyName) beeFamilyKey <- beeFamilyBackbone$usageKey gbifDL <- occ_download(pred_in("familyKey", beeFamilyKey), pred("country", "US"), pred_between("year", 1923, 2023), format = "SIMPLE_CSV")
额外提示
- 若需查询非连续的特定年份(比如仅取1923、1950、2023),可使用
pred_in("year", c(1923, 1950, 2023))。 - 运行前可打印
beeFamilyKey检查是否存在NA值,若有无效ID,需先过滤再传入pred_in。
内容的提问来源于stack exchange,提问作者rinepry
相关产品推荐
相关产品推荐

