- トップページ
- Rによる群集組成の解析
- 多様度指数の比較
Rによる群集組成の解析
多様度指数の比較
多様度指数を求めて群集組成の複雑さを数値化します。多様度指数としてシャノンのH’やシンプソンの1/Dが有名ですが、種数も多様度指数の一つです。ここではRenyiの多様度プロファイルを求めます。さらに、サンプルサイズを考慮して複数の群集の多様度指数を比較します。
多様度プロファイルを作成
多様度指数は群集組成の複雑さを数値化します。多様度指数として多くの指数が提案されていますが、その中のいくつかの多様度指数を統一的に理解する方策の一つとして、Renyiの多様度プロファイルというものがあります。これは、感度パラメータ(q)を変化させることによって一連の多様度指数を系列として作成するものです。詳しくは多様度指数の計算ページを参照してください。
あらかじめrequire(vegan)
にてveganパッケージを読み込みます。 そして、群集データをファイルから読み込みます。以下の例ではcsvファイルから読み込んでいます。 csvファイルの1列目が地点名になっていますので、row.names=1
で地点名を行の名前に指定します。str(dat)
とhead(dat)
で元データの形式を確認する方が良いです。
dat <- read.csv("spcdat.csv", header=TRUE, row.names=1)
次に、renyi()
で多様度指数計算します。指数を表示する際にはexp()
で変換します。すると指数が種数と同じ単位となり、解釈しやすくなります。
x <- exp(renyi(dat))
print(x)
## 0 0.25 0.5 1 2 4 8
## Ako1 25 12.168433 5.644704 2.136354 1.403578 1.261169 1.220067
## Ako2 9 7.607329 6.429064 4.793829 3.449102 2.834064 2.558208
## Ako3 12 11.313568 10.624328 9.277639 7.031250 4.903061 3.958639
## Nisio1 20 17.721953 15.678444 12.513186 9.295082 7.409906 6.416410
## Nisio2 15 13.111197 11.510469 9.188904 6.914894 5.425780 4.590049
## Nisio3 22 18.787211 15.961218 11.651125 7.245509 4.737018 3.826000
## Nakatu1 24 15.925404 10.062048 4.679559 2.724889 2.215373 2.006270
## Nakatu2 17 13.318593 9.946950 5.274772 2.549025 1.907142 1.739198
## Nakatu3 16 15.304864 14.620043 13.326661 11.250000 9.030202 7.547984
## Banzu1 17 9.289197 5.584731 3.245602 2.369967 2.007683 1.838745
## Banzu2 18 10.371035 5.615125 2.248102 1.403852 1.257508 1.217014
## Banzu3 18 10.975092 6.841703 3.754489 2.715128 2.462483 2.377512
## Uto1 19 13.545967 9.244142 4.489319 2.290161 1.776990 1.637030
## Uto2 18 14.764482 11.843801 7.547466 4.145499 2.879066 2.483029
## Uto3 19 17.687146 16.522266 14.650596 12.367647 10.444599 9.077937
## 16 32 64 Inf
## Ako1 1.203995 1.196806 1.193398 1.190106
## Ako2 2.414975 2.347487 2.315905 2.285714
## Ako3 3.611913 3.465340 3.397648 3.333333
## Nisio1 5.842486 5.537953 5.390020 5.250000
## Nisio2 4.180089 3.992578 3.905799 3.823529
## Nisio3 3.498711 3.360180 3.296155 3.235294
## Nakatu1 1.915999 1.876229 1.857582 1.839695
## Nakatu2 1.676200 1.648502 1.635474 1.622951
## Nakatu3 6.748518 6.356848 6.173093 6.000000
## Banzu1 1.766001 1.733898 1.718817 1.704331
## Banzu2 1.201183 1.194101 1.190744 1.187500
## Banzu3 2.329294 2.290771 2.263654 2.235000
## Uto1 1.584113 1.560779 1.549789 1.539216
## Uto2 2.336969 2.273845 2.244389 2.216216
## Uto3 8.206828 7.724947 7.481571 7.250000
行がそれぞれの群集、列が感度パラメータqに対応した多様度指数を表します。 q=0のとき種数、q=1でシャノン多様度の指数(expH’)、q=2でシンプソン多様度の逆数(1/D)、q=Infで最優占種優占率の逆数(1/P1)となります。
多様度指数の希薄化・外挿・信頼幅を推定
種数をふくめて多様度指数の推定値は、一般に推定に用いたサンプルの総個体数に影響されます。サンプルの総個体数が増えれば、その群集内で稀にしか出現しない種類を採集する確率が増加するからです。 従って、異なる群集の間で多様度指数(種数も)を厳密に比較するための一つの方法として、個体数を揃えるべきだという考え方があります。
- 別の考え方:定面積あたりの個体数(密度)は群集の特徴の一つなので、採集個体数を揃えるのではなく、採集面積を揃えて比較するべきだという考え
あらかじめrequire(iNEXT)
にてiNEXTパッケージを読み込んでおきます。 そして、データファイルを整えます。今回は列が各地点の群集になりますので、t()
で行列を転置します。地点数が多いと計算に時間がかかるので、ここでは5地点のみを使うことにします。
dat2 <- t(dat[4:8,])
次に、iNEXT()
で多様度指数の希薄化・外挿・信頼幅の計算をします。 q=c(0, 1, 2)
を指定して、感度パラメータ0,1,2に対応する種数、シャノン多様度の指数、シンプソン多様度の逆数を計算します。 また、入力データが量的データ(今の場合は、個体数です)ですのでdatatype="abundance"
を指定します。
out <- iNEXT(dat2, q=c(0,1,2), datatype="abundance")
もし、入力データが在不在データ(0/1データ)の場合はdatatype="incidence_raw"
を指定すれば良いです。
得られた結果はggiNEXT()
で図示できます。 数値データの出力を見る場合はout
で見てください。
ggiNEXT(out, facet.var = "order")
左図がq=0で種数の場合、中図はq=1でシャノン多様度の指数(expH’)の場合、右図はq=2でシンプソン多様度の逆数(1/D)の場合です。 それぞれの図でシンボルのある点が採集された個体数とその多様度指数。実線部分が希薄化による推定、破線部分が外挿による推定で、網掛け部分はブートストラップによる95%の信頼幅となっています。
Nisio2の群集とNakatu1の群集の多様度を比較するとき、種数で見ると信頼幅の重なりが大きくて、差があるとは言いにくいのですが、expH’や1/Dで比較すると信頼幅の重なりが小さくなり、Nisio2の群集の方が多様度が高いと言えそうです。
参考文献
- Borcard D, Gille F, Legendre P (2011) Numerical Ecology with R. Springer
- Chao A, Gotelli NJ, Hsieh TC, Sander EL, Ma KH, Colwell RK, Ellison AM (2014) Rarefaction and extrapolation with Hill numbers: a framework for sampling and estimation in species diversity studies. Ecological Monographs 84: 45-67.
- Magurran AE, McGill BJ (2011) Biological Diversity. Oxford Univ.
Rによる群集組成の解析に戻る