R でアルファ多様性を計算する:
シャノンおよびシンプソン指数

UB3/informatics/r/diversity_alpha

このページの最終更新日: 2024/09/30

  1. 概要: α多様性とは
  2. R による Shannon および Simpson indices の計算
  3. R による chao1 の計算

広告

概要: α多様性とは

α多様性は、ある地点の生物多様性を示す指標である。他にも β多様性および γ多様性があるので、基礎的な内容については以下のサイト内検索から関連ページを参照のこと。


α多様性を表す指数としては、Shannon index および Simpson index の 2 つが有名である。このページでは、R を用いてこれらの指数を算出する方法をまとめる。

なお、Shannon および Simpson indices は 以下の式で定義されている。s は全体の種の数、pi は種 i の個体数が全体の個体数に占める割合である。

Shannon 指数

Shannon指数

Simpson 指数

Shannon指数

R による Shannon および Simpson indices の計算

diversity 関数

vegan という パッケージ の diversity() 関数で、2 つの指数が同時に計算される (1)。

データ形式は、1 つの行が 1 サンプル (または地点)、各行にそれぞれの種の abundance がある整然データである。すなわち、以下の表のような形。

Achimill

Agrostol

Airaprae

Alopgeni

Anthodor

Bellpere

1

1

0

0

0

0

0

2

3

0

0

3

0

3

3

0

4

0

7

0

2


これは vegan パッケージに含まれている dune という 組み込みデータセット の一部である。数字はおそらく個体数、Achimill, Agrostol... などは Achillea millefolium、Agrostis stolonifera などの種の名前である。

dune は 20 行 30 列のデータなので、上に表示しているのはごく一部。

多様性は diversity() 関数で計算する (2)。Shannon がデフォルトなので、何も指定しないと Shannon index が計算される。Simpson index は、index = "simpson" とするか、または単に "simpson" で良い。

diversity(dune, index = "simpson")
diversity(dune, "simpson")
diversity(dune) # 指定しないと Shannon が計算される

結果は以下のようにベクターになる。5 個しか示していないが、dune の場合は 20 個のサンプル (20 行に分けて収められている) について全て多様性が計算されるので、全体で 20 個の数値が得られる。

Rによるアルファ多様性の計算

diversity() 関数の可能なオプションを表にしておく。網羅していないので、R Documentation も参照のこと。

index

shannon, simpson, invsimpson のうちから選ぶ。


renyi 関数

renyi という関数を使う方法もあるようである (1)。exp(renyi(dune)) のようにすると、0 が種数、1 がシャノン・ウィナー、2 がシンプソンになると書かれているが、どうも diversity() 関数の結果と一致しない。あとでこの関数について調べて更新。

R による chao1 の計算

chao1 index は、上記の diversity() 関数ではサポートされていない。fossil というパッケージの chao1() 関数で計算できる (参考)。

データフレームをインプットにすると、This data appears to be presence/absence based, but this estimator is for abundance data only. というエラーが出てしまった。abundance データを使っているように思うのだが、なぜか解決できない。

slice と for loop で、1 行ごとにインプットしたら計算できた。

chao1 index は 100 以上の値となり、3 とか 4 ぐらいの Shannon とはだいぶ異なる。


広告

References

  1. 多様性指数の算出:R備忘録. Link: Last access 2022/05/03.
  2. Vegan Tutorial. Link: Last access 2022/05/03.

コメント欄

サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。