我想使用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.
in its 的记录scientificName
,我们可以执行以下操作:
acaule_sub <- subset(acaule, grepl("subsp.", scientificName, fixed = TRUE))
现在acaule_sub
是一个包含 1458 条记录的数据框,这些记录都是科学名称与“subsp.”相关联的所有记录。
不确定这是否是您需要的,但我希望它有所帮助!