jpplantnames は、「維管束植物和名チェックリスト ver. 1.10」を R から扱いやすくするための非公式パッケージです。
「コナラ」のような和名から、解析や表作成で使う学名を再現可能な形で取得する ことを目的にしています。
インストール
GitHub からインストールします。
# install.packages("pak")
pak::pak("maple60/jpplantnames")読み込みます。
まず和名から学名を調べる
和名から標準的な学名を取得するには scientific_name() を使います。
scientific_name("コナラ")
#> [1] "Quercus serrata"命名者付きの学名が必要な場合は with_author = TRUE を指定します。
scientific_name("コナラ", with_author = TRUE)
#> [1] "Quercus serrata Murray"複数の和名をまとめて渡すこともできます。
scientific_name(c("コナラ", "ミズナラ"))和名から情報をまとめて確認したい場合は、便利な入口として japanese_name_info() を使えます。
japanese_name_info("コナラ")既定では、japanese_name_info() はキャッシュ済みのチェックリストデータだけを使います。 WFO や GBIF への任意チェックは、明示的に指定した場合だけ実行されます。
チェックリストデータの取得とキャッシュ
jpplantnames はチェックリストデータをパッケージ内に同梱しません。最初にデータが必要に なった時点で、チェックリストの Excel ファイルをユーザーの R キャッシュへ ダウンロードして読み込みます。
いったんキャッシュされた後は、標準的な検索関数はローカルファイルを読みます。 scientific_name()、japanese_name_search()、既定の japanese_name_info() は、 検索のたびに外部サーバーへ問い合わせるわけではありません。
明示的にダウンロードしたい場合は次のようにします。
既存のキャッシュを更新したい場合は overwrite = TRUE を使います。
japanese_name_download(overwrite = TRUE)データ全体を data.frame として読み込みたい場合は japanese_name_load() を使います。
checklist <- japanese_name_load()
head(checklist)読み込み前に必ず再取得したい場合は refresh = TRUE を指定します。
checklist <- japanese_name_load(refresh = TRUE)
scientific_name() の考え方
scientific_name() は、解析で使いやすいように保守的な動作にしています。
- チェックリストの
和名列と別名列を完全一致で検索します。 -
ステータスが標準の行だけを使います。 - 見つからない場合は
NA_character_を返します。 - 標準行が複数見つかった場合は、自動で一つに決めずエラーにします。
この挙動にしている理由は、学名の対応付けで曖昧な候補を静かに採用すると、 後の解析や報告で誤りに気づきにくくなるためです。
候補を確認する
部分一致や別名も含めて候補を確認したい場合は japanese_name_search() を使います。
japanese_name_search("コナラ")検索対象の列を指定できます。
# 学名から検索
japanese_name_search("Quercus serrata", field = "scientific")
# 別名から検索
japanese_name_search("ナラ", field = "alias")
# 和名・別名・学名をまとめて検索
japanese_name_search("コナラ", field = "all")完全一致で候補を確認したい場合は exact = TRUE を指定します。
japanese_name_search("コナラ", exact = TRUE)実用的なワークフロー
データ整理では、次のような流れにすると扱いやすくなります。
- 和名リストに対して
scientific_name()を使い、標準学名を付与します。 -
NAになったものや確認が必要なものをjapanese_name_search()で調べます。 - 元の和名と取得した学名を両方残します。
- 論文、報告書、公開データで使う場合はチェックリストを引用します。
例:
plants <- data.frame(
japanese_name = c("コナラ", "ミズナラ", "存在しない植物名"),
stringsAsFactors = FALSE
)
plants$scientific_name <- scientific_name(plants$japanese_name)
plantsWFO と GBIF で任意確認する
チェックリストの学名が、このパッケージの lookup result です。 japanese_name_info() では、国際的な学名データソースとの任意チェックも実行できます。
japanese_name_info("コナラ", wfo = TRUE)
japanese_name_info("コナラ", wfo = TRUE, gbif = TRUE)wfo = TRUE や gbif = TRUE の確認は、外部 API の利用可否と外部データベースの内容に依存します。 WFO の結果は外部データソースでの解釈として表示され、チェックリストから得た学名を自動で 置き換えるものではありません。
チェックリストから得た学名を国際的なデータベースと照合したい場合は、 gbif_match() を使えます。
gbif_match("Quercus serrata")これは GBIF species match API を呼び出す薄い補助関数です。利用には jsonlite パッケージが必要です。
データソースと引用
jpplantnames は「維管束植物和名チェックリスト ver. 1.10」を lookup source として使います。 このチェックリストには YList 由来・更新データが含まれますが、jpplantnames は JBIF、YList、 またはチェックリスト著者の公式パッケージではなく、承認・推奨されたものでもありません。
チェックリストに基づく結果を利用する場合は、チェックリストを引用してください。
山ノ内崇志・首藤光太郎・大澤剛士・米倉浩司・加藤 将・志賀 隆. 2019. 「維管束植物和名チェックリスト」 (https://gbif.jp/activities/checklist/wamei_checklist_110)
このパッケージのコードは MIT ライセンスです。ただし、チェックリストデータは パッケージに同梱しておらず、このパッケージのライセンス対象ではありません。