## FUNZIONE PER CALCOLARE L'INDICE RELATIVO DI ENTROPIA DI SHANNON
## SU VARIABILI CATEGORIALI
#
# In input: Deve essere fornita una variabili categoriale
# sottoforma di vettore di tipo "factor"
# In output: Viene fornito l'indice di entropia relativo di Shannon
# Warning: La funzione può essere usata solo (per ora ...) su
# variabili categoriali in cui ogni modalit? abbia frequenza maggiore o uguale a 1
#
## ESEMPIO:
## v<-factor(c("A","A","A","B","B","C","D")) # variabile categoriale v
## table(v) # tabella di frequenza
## rshannon(x=v) # calcolo dell'indice di entropia relativo di Shannon
#
##
# Autore: FILIPPO GAMBAROTA, 2017
#
rshannon<- function(x, nmod = length(levels(x))) {
if(is.factor(x)==F) stop("La variabile inserita deve essere di tipo factor!")
-sum((table(x) / length(x) * log((table(x) / length(x) + (1/10^100))))) / log(nmod)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.