0

(Rパッケージ)を使用dismoして、種分布分析用のgbif種発生データをダウンロードしたいと思います。私はガイドラインを読み、ほとんどの場合、分析を正常に進めました。ここでコードを使用しました。

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

しかし、分析のために特定の亜種を分けたいと思います。特定の亜種から情報を抽出する方法はありますか?

4

1 に答える 1

0

のドキュメントgbifと のビネットに基づいて、種名にdismo追加*して、その種名の下にあるすべてのバリアントを取得できます。次の例では、ビネットから、Solanum acauleの下にあるすべてのレコードをダウンロードします。

acaule <- gbif("solanum", "acaule*", geo = FALSE)

結果のデータフレーム にはacaule、約 7000 レコードの 115 の変数が含まれています。これらの変数のうち、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 レコードのデータフレームです。

これが必要かどうかはわかりませんが、お役に立てば幸いです。

于 2017-08-15T03:45:49.333 に答える