jpplantnames Rパッケージについて

r
jpplantnames Rパッケージについて簡単にまとめます。
Published

2026-06-17

Modified

2026-06-17

最近作成した、jpplantnamesというRパッケージについて簡単にまとめます。 ドキュメントは、以下をご覧ください。

インストールとライブラリの読み込み

いつも通りパッケージをインストールします。 現在はGitHubにしか公開していませんので、pakremotes, renvなどを使ってインストールしてください。

pak::pak("maple60/jpplantnames")
remotes::install_github("maple60/jpplantnames")
# renv::install("maple60/jpplantnames") # renvを使用している場合

インストールが完了したら、library()で読み込みます。

和名から学名を取得する

scientific_name()関数で和名から学名を取得できます。 初回の実行はデータのダウンロードが行われるため、少し時間がかかります。 この時、インターネットに接続されている必要があることに注意します。 二回目以降は、キャッシュが使用されるため、すぐに結果が返ってきます。

scientific_name("コナラ")
Note実行結果
[1] "Quercus serrata"

命名者の情報が欲しい場合は、with_author = TRUEを指定します。

scientific_name("コナラ", with_author = TRUE)
Note実行結果
[1] "Quercus serrata Murray"

複数の和名から一気に学名を知りたい場合は、ベクトルにして渡すこともできます。

scientific_name(c("コナラ", "アカマツ", "イチョウ"))
Note実行結果
[1] "Quercus serrata"  "Pinus densiflora" "Ginkgo biloba"

学名から和名を取得する

学名から和名を取得したい場合は、japanese_name_search()関数を使用します。

japanese_name_search("Quercus serrata", field = "scientific")
Note実行結果(抜粋)
                     和名                   別名                                        学名 source
1                  コナラ                 コナラ                             Quercus serrata     GL
2                  コナラ                 ハハソ                             Quercus serrata     GL
3                  コナラ                   ナラ                             Quercus serrata     GL
4            シダレコナラ           シダレコナラ                Quercus serrata f. dependens     GL
5            テリハコナラ           テリハコナラ                 Quercus serrata f. donarium     GL
6            ナガミコナラ           ナガミコナラ               Quercus serrata f. longicarpa     GL
...
31           マルバコナラ           ビワバコナラ Quercus serrata var. pseudovariabilis     YL

この検索の場合、"Quercus serrata"を学名に含むすべてのデータが返されます。 特定の学名に完全一致する和名を知りたい場合は、exact = TRUEを指定します。

japanese_name_search("Quercus serrata", field = "scientific", exact = TRUE)
Note実行結果(抜粋)
    和名           別名             学名 source
1 コナラ         コナラ Quercus serrata     GL
2 コナラ         ハハソ Quercus serrata     GL
3 コナラ           ナラ Quercus serrata     GL
4 コナラ         コナラ Quercus serrata     YL
5 コナラ アツカワコナラ Quercus serrata     YL
6 コナラ           ナラ Quercus serrata     YL
7 コナラ         ハハソ Quercus serrata     YL

これでも複数のデータが返される場合があります。 これは、同じコナラに対して、複数の和名・別名行が登録されているからです。

あいまいな和名を検索する

野帳を電子化したときに、和名などに誤字が生じる場合があります。 例えば、「コナラ」を「コラナ」と誤って入力してしまうことがあるかもしれません。 このような場合、japanese_name_suggest()関数を使用して、あいまいな和名から、正しい和名を検索することができます。

Note実行結果(抜粋)
    query matched_value distance     score match_type   和名           別名             学名 source
1  コラナ        コナラ        1 0.3333333      fuzzy コナラ         コナラ Quercus serrata     GL
2  コラナ        コナラ        1 0.3333333      fuzzy コナラ         ハハソ Quercus serrata     GL
3  コラナ        コナラ        1 0.3333333      fuzzy コナラ           ナラ Quercus serrata     GL
4  コラナ        コナラ        1 0.3333333      fuzzy コナラ         コナラ Quercus serrata     WF
5  コラナ        コナラ        1 0.3333333      fuzzy コナラ         ハハソ Quercus serrata     WF
6  コラナ        ガラナ        1 0.3333333      fuzzy ガラナ         ガラナ  Paullinia cupana     WF

ほかには、「タラヨウ」を「タロヨウ」などと誤って入力してしまうこともあるかもしれません。

japanese_name_suggest("タロヨウ")
Note実行結果(抜粋)
     query matched_value distance score match_type       和名       別名                                  学名 source
1  タロヨウ      タラヨウ        1  0.25      fuzzy   タラヨウ   タラヨウ                       Ilex latifolia     GL
2  タロヨウ      タラヨウ        1  0.25      fuzzy   タラヨウ   タラヨウ                       Ilex latifolia     WF
3  タロヨウ      タラヨウ        1  0.25      fuzzy   タラヨウ   タラヨウ                       Ilex latifolia     YL
4  タロヨウ    キタゴヨウ        2  0.40      fuzzy キタゴヨウ キタゴヨウ    Pinus parviflora var. pentaphylla     GL
5  タロヨウ    キタゴヨウ        2  0.40      fuzzy キタゴヨウ キタゴヨウ    Pinus parviflora var. pentaphylla     WF

このあいまい検索では、入力された和名とチェックリスト中の和名を比較し、候補ごとの文字列距離を計算します。現在の実装では、stringdist パッケージが利用可能な場合、stringdist::stringdist() 関数を method = "osa" で使用しています。osa は Optimal String Alignment distance、すなわち制限付き Damerau–Levenshtein 距離であり、文字の挿入・削除・置換に加えて、隣接する文字の入れ替えも考慮します。そのため、単純な入力ミスや文字順の入れ替わりを含む和名に対して、近い候補を提示できます。

GBIFの学名と照合する

gbif_match()関数を使用して、GBIF (Global Biodiversity Information Facility)の学名と照合することができます。

gbif_match("Quercus serrata")
Note実行結果
            input usageKey         scientificName   canonicalName    rank   status confidence
1 Quercus serrata  2879649 Quercus serrata Murray Quercus serrata SPECIES ACCEPTED         97
  matchType kingdom   family   genus         species
1     EXACT Plantae Fagaceae Quercus Quercus serrata

WFOの学名と照合する

別のデータベースであるWFO (World Flora Online)の学名と照合することもできます。

wfo_accepted_name("Quercus serrata")
Note実行結果
            input matched_wfo_id           matched_name matched_name_no_author matched_rank
1 Quercus serrata wfo-0000293164 Quercus serrata Murray        Quercus serrata      species
  matched_role accepted_wfo_id          accepted_name accepted_name_no_author accepted_rank
1     accepted  wfo-0000293164 Quercus serrata Murray         Quercus serrata       species
  accepted_role is_accepted n_candidates match_status cached
1      accepted        TRUE           10    ambiguous   TRUE

部分一致として検索したい場合は、wfo_suggest()関数を使用します。

wfo_suggest("Quercus serrata")
Note実行結果(抜粋)
             input         wfo_id                                      name
1  Quercus serrata wfo-0000293164                    Quercus serrata Murray
2  Quercus serrata wfo-0000293165                     Quercus serrata Roxb.
3  Quercus serrata wfo-0001062616                    Quercus serrata Thunb.
4  Quercus serrata wfo-0000293167      Quercus serrata var. attenuata Blume
5  Quercus serrata wfo-0000293168 Quercus serrata var. brevipetiolata (A.DC.) Nakai
...

和名から種の情報を取得する

和名から関連する種の情報を取得することもできます。 japanese_name_info()関数を使用します。 基本的には変数に入れておくと便利です。 print()で表示すると、簡易表示ができます。

jp_info <- japanese_name_info("コナラ")
print(jp_info)
Note実行結果
Japanese name info: コナラ

Japanese-name checklist:
  Scientific name: Quercus serrata Murray
  Candidates: 9
  Status: matched

Use x$summary, x$japanese_name, x$wfo, and x$gbif for data frames.

これは 和名「コナラ」について、チェックリスト上では Quercus serrata Murray にマッチした、候補行は9件あった、という簡易レポートです。

変数はリスト形式になっているため、詳しい情報を見たいときは、$でアクセスできます。 $summaryで、簡易レポートをデータフレーム形式で展開します。

jp_info$summary
Note実行結果
   input matched japanese_name scientific_name scientific_name_with_author n_japanese_name_candidates match_status
1 コナラ    TRUE        コナラ Quercus serrata      Quercus serrata Murray                          9      matched

$japanese_nameで、和名の情報をデータフレーム形式で展開できます。

jp_info$japanese_name
Note実行結果(抜粋)
  input  query is_preferred   和名           別名                                        学名 source
1 コナラ コナラ         TRUE コナラ         コナラ                             Quercus serrata     GL
2 コナラ コナラ        FALSE コナラ         ハハソ                             Quercus serrata     GL
3 コナラ コナラ        FALSE コナラ           ナラ                             Quercus serrata     GL
4 コナラ コナラ        FALSE コナラ         コナラ Quercus serrata subsp. serrata var. serrata     WF
5 コナラ コナラ        FALSE コナラ         ハハソ Quercus serrata subsp. serrata var. serrata     WF
6 コナラ コナラ        FALSE コナラ         コナラ                             Quercus serrata     YL
7 コナラ コナラ        FALSE コナラ アツカワコナラ                             Quercus serrata     YL
8 コナラ コナラ        FALSE コナラ           ナラ                             Quercus serrata     YL
9 コナラ コナラ        FALSE コナラ         ハハソ                             Quercus serrata     YL

GBIFやWFOのデータと照合したい場合は、wfo = TRUEgbif = TRUEを指定します。

jp_info <- japanese_name_info("コナラ", wfo = TRUE, gbif = TRUE)
jp_info$wfo
jp_info$gbif
Note実行結果
            input matched_wfo_id           matched_name matched_name_no_author matched_rank
1 Quercus serrata wfo-0000293164 Quercus serrata Murray        Quercus serrata      species
  matched_role accepted_wfo_id          accepted_name accepted_name_no_author accepted_rank
1     accepted  wfo-0000293164 Quercus serrata Murray         Quercus serrata       species
  accepted_role is_accepted n_candidates match_status cached
1      accepted        TRUE           10    ambiguous   TRUE

            input usageKey         scientificName   canonicalName    rank   status confidence
1 Quercus serrata  2879649 Quercus serrata Murray Quercus serrata SPECIES ACCEPTED         97
  matchType kingdom   family   genus         species
1     EXACT Plantae Fagaceae Quercus Quercus serrata

つまり、japanese_name_infoはこれまでの関数を束ねたものというイメージです。