Feu la funció entropia(V)
tal que,
donat un vector V
,
que conté nombres naturals, en torni l’entropia de Shannon.
L’entropia de Shannon per a un conjunt X es calcula amb la fórmula:
H(X) = − |
| p(x) logb p(x). (1) |
En el nostre cas, substitïm la probabilitat p(x)
d’un element x ∈ X
per la freqüència dins del vector v
.
D’aquesta manera, la fórmula que cal calcular és:
H(X) = − |
|
| log2 ( |
| ). (2) |
on freq(x,v) és la freqüència del nombre x
al vector V
.
Per a calcular el logaritme en base 2 en R
podeu fer servir
la funció log2(x)
.
Observació
Només cal que enviïs el fitxer amb la funció (i les funcions auxiliars que hagis fet)
que et demanem i prou.
El fitxer main.R
et pot servir per a fer la teva solució, però no cal que n’enviïs
el contingut.
Entrada
Un vector V
de naturals.
Sortida
L’entropia de Shannon de V
.
Input
4 1 2 3 4
Output
2
Input
8 1 1 1 1 4 4 5 5
Output
1.5