目的 Shannon-Wienwer の多様度指数 H' を計算する 使用法 Heterogeneity(x, base=NULL) 引数 x 観察度数ベクトル base 対数の底(省略時には自然対数。常用対数のときには 10 などと指定) ソース インストールは,以下の 1 行をコピーし,R コンソールにペーストする source("http://aoki2.si.gunma-u.ac.jp/R/src/Heterogeneity.R", encoding="euc-jp") # Shannon-Wienwer の多様度指数 H' を計算する Heterogeneity <- function( x, # 観察度数ベクトル base=NULL) # 対数の底(デフォルトは自然対数) { x <- x[x > 0] / sum(x) # 割合に変換 return(-sum(x*log(x)*ifelse(is.null(base), 1, 1/log(base)))) # 結果を返す } 使用例 > Heterogeneity(c(3,2,1,4,3,4)) [1] 1.711547 > Heterogeneity(c(3,2,1,4,3,4), base=2) [1] 2.469241 > Heterogeneity(c(3,2,1,4,3,4), base=10) [1] 0.7433155