(Rパッケージ)を使用dismoして、種分布分析用のgbif種発生データをダウンロードしたいと思います。私はガイドラインを読み、ほとんどの場合、分析を正常に進めました。ここでコードを使用しました。
gbif("genus","species", geo=FALSE)
しかし、分析のために特定の亜種を分けたいと思います。特定の亜種から情報を抽出する方法はありますか?
のドキュメント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 レコードのデータフレームです。
これが必要かどうかはわかりませんが、お役に立てば幸いです。