【发布时间】:2017-07-03 10:07:17
【问题描述】:
我想用dismo(R包)下载gbif物种出现数据,用于物种分布分析。
在大多数情况下,我已阅读指南并成功进行了我们的分析。
我在这里使用了代码。
gbif("genus","species", geo=FALSE)
但是,我想将某些亚种分开进行分析。 有什么方法可以从某些亚种中提取信息吗?
【问题讨论】:
我想用dismo(R包)下载gbif物种出现数据,用于物种分布分析。
在大多数情况下,我已阅读指南并成功进行了我们的分析。
我在这里使用了代码。
gbif("genus","species", geo=FALSE)
但是,我想将某些亚种分开进行分析。 有什么方法可以从某些亚种中提取信息吗?
【问题讨论】:
根据gbif 的文档和dismo 的小插曲,我们可以将* 附加到物种名称以获取该物种名称下的所有变体。以下示例从小插图中下载 Solanum acaule 下的所有记录。
acaule <- gbif("solanum", "acaule*", geo = FALSE)
生成的数据框 acaule 包含 115 个变量和大约 7000 条记录。在这些变量中,scientificName 列包含该记录的全名。我们可以使用该列来识别与某个亚种相关的记录。
例如,我们可以先使用table函数查看每个物种名称的数量。
table(acaule$scientificName)
Solanum acaule Bitter
5608
Solanum acaule subsp. acaule
1444
Solanum acaule subsp. punae (Juz.) Hawkes & Hjert.
14
Solanum acaule var. punae (Juz.) Hawkes
9
Solanum acaule var. subexinterruptum Bitter
2
Solanum schreiteri Bukasov
2
Solanum uyunense Cárdenas
2
现在我们可以根据scientificName 中的关键字对数据框进行子集化以找到我们想要的记录。假设我们只想要subsp. 在其scientificName 中的记录,我们可以执行以下操作:
acaule_sub <- subset(acaule, grepl("subsp.", scientificName, fixed = TRUE))
现在acaule_sub 是一个包含 1458 条记录的数据框,这些记录都是科学名称与“subsp.”相关联的所有记录。
不确定这是否是您所需要的,但希望对您有所帮助!
【讨论】: