0

我想使用dismo(R包)下载gbif物种发生数据进行物种分布分析。在大多数情况下,我已阅读指南并成功进行了我们的分析。我在这里使用了代码。

gbif("genus","species", geo=FALSE)

但是,我想将某些亚种分开进行分析。有什么方法可以从某些亚种中提取信息吗?

4

1 回答 1

0

基于 的文档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.”相关联的所有记录。

不确定这是否是您需要的,但我希望它有所帮助!

于 2017-08-15T03:45:49.333 回答