啥是Renyi index
Shannon熵在微生物领域应用的已经十分普遍了。Shannon index作为alpha多样性的表征手段广泛应用于微生物领域的分析中。
而Renyi就更厉害了,shannon只是它其中的一种形式。Renyi熵以Alfréd Rényi的名字命名。公式为:
α=0时为Hartley or max-entropy,为物种数量的对数。
α=1时的极限即为广泛使用的Shannon entropy
α=2时为Collision entropy
α趋于正无穷时为Min-entropy,该值永远不会大于shannon entropy.
Renyi index在R中的实现
renyi函数计算参数α取不同值时的Renyi diversity或者相应的Hill number。
>library(vegan) #Usage #renyi(x, scales = c(0, 0.25, 0.5, 1, 2, 4, 8, 16, 32, 64, Inf),hill = FALSE) #scales: Renyi 公式中的alpha参数 #hill:是否计算hill number >data(BCI) >i <- sample(nrow(BCI), 12);i [1] 26 33 34 37 7 8 48 20 27 5 44 14 >mod <- renyi(BCI[i,]);mod 0 0.25 0.5 1 2 4 8 16 26 4.510860 4.369835 4.225046 3.947749 3.538966 3.166310 2.909161 2.744989 33 4.454347 4.283915 4.102866 3.740392 3.186761 2.696061 2.399570 2.247627 34 4.521789 4.360121 4.185237 3.821669 3.238761 2.748477 2.486674 2.352647 37 4.477337 4.323468 4.155208 3.791703 3.135029 2.501265 2.171835 2.027688 7 4.406719 4.262593 4.115994 3.836811 3.417368 3.010718 2.720940 2.552329 8 4.477337 4.342394 4.199865 3.908381 3.417320 2.931933 2.644037 2.501526 48 4.510860 4.367867 4.216988 3.913725 3.430868 2.960912 2.639249 2.468966 20 4.605170 4.472551 4.336913 4.077327 3.683250 3.264270 2.924281 2.735886 27 4.595120 4.452634 4.299666 3.980281 3.411132 2.772153 2.401239 2.241345 5 4.615121 4.460220 4.297238 3.969940 3.436618 2.885713 2.532071 2.365033 44 4.394449 4.226279 4.050498 3.705016 3.167073 2.627535 2.292374 2.140140 14 4.584967 4.446502 4.302370 4.017494 3.570654 3.147989 2.879572 2.737063 32 64 Inf 26 2.657875 2.615696 2.574826 33 2.175329 2.140800 2.107350 34 2.281821 2.245829 2.210738 37 1.962280 1.931133 1.900959 7 2.470295 2.431085 2.393099 8 2.427926 2.389874 2.352536 48 2.389374 2.351448 2.314706 20 2.647690 2.605663 2.564949 27 2.169043 2.134614 2.101261 5 2.288749 2.252419 2.217225 44 2.071104 2.038229 2.006382 14 2.665029 2.626467 2.585711 >plot(mod)
代码语言:javascript复制#按照行累积多样性。(与specaccum函数类似)
#renyiaccum(x, scales = c(0, 0.5, 1, 2, 4, Inf), permutations = 100,
# raw = FALSE, collector = FALSE, subset, ...)
#permutations:置换次数
#raw:FALSE返回整体置换之后的结果;TRUE返回每次置换的结果
#collector:根据行累积得到的diversity
#subset:保留的行子集
>mod <- renyiaccum(BCI[i,])
>plot(mod, as.table=TRUE, col = c(1, 2, 2))
#三条线分别为平均值,0.025分位和 0.975分位的值。
>persp(mod)
Hill和Renyi的关系为:Hill=exp(Renyi)当Renyi中的alpha=0,Hill中的阶数q=0,计算物种数量;alpha=q=1,计算shannon;alpha=hill=2,计算simpson。群落的Renyi diversity越高,群落的多样性越高。
越来越感觉到Hill的强大了。。。得找个时间把vegan所有的功能好好看一下。
Reference:https://en.wikipedia.org/wiki/Rényi_entropyhttps://rdrr.io/rforge/vegan/src/R/renyi.R