使用dplyr计算按年份和地区分组的Shannon熵
使用dplyr计算按年份和地区分组的Shannon熵
本文将介绍如何使用R语言的dplyr包,按年份和地区对数据进行分组,并计算每个分组的Shannon熵,以分析数据的信息量。
library(dplyr)
df %>%
group_by(Year, Region) %>%
summarise(shannon_entropy = sum(-prob*log2(prob)))
# Output:
# # A tibble: 6 x 3
# # Groups: Year [2]
# Year Region shannon_entropy
# <int> <chr> <dbl>
# 1 2000 east 1.37
# 2 2000 west 1.37
# 3 2001 east 1.37
# 4 2001 west 1.37
# 5 2002 east 1.37
# 6 2002 west 1.37
其中,-prob*log2(prob)表示每个类别的信息量,sum()表示对所有类别的信息量求和,得到熵的值。
原文地址: https://www.cveoy.top/t/topic/n7jq 著作权归作者所有。请勿转载和采集!