ComenzarEmpieza gratis

Ley de Benford para el primer dígito

La Ley de Benford establece que la probabilidad de que el primer dígito sea igual a d es aproximadamente el logaritmo de (1 + 1/d). Al representar las frecuencias esperadas, verás que los dígitos 1,…,9 no aparecen con la misma frecuencia.

Este ejercicio forma parte del curso

Detección de fraude en R

Ver curso

Instrucciones del ejercicio

  • Implementa la Ley de Benford como una función benlaw para el primer dígito usando logaritmo en base 10.
  • Calcula la frecuencia esperada de que el primer dígito sea 5.
  • Crea un dataframe con una columna digit que contenga los dígitos del 1 al 9 y una columna probability con sus probabilidades respectivas según la Ley de Benford.
  • Envia para representar en un diagrama de barras las frecuencias esperadas de los dígitos 1, 2, …, 9.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Implement Benford's Law for first digit
benlaw <- function(d) log10(___ + ___ / ___)

# Calculate expected frequency for d=5
benlaw(___)

# Create a dataframe of the 9 digits and their Benford's Law probabilities
df <- data.frame(digit = ___:___, probability = ___)

# Create barplot with expected frequencies
ggplot(df, aes(x = digit, y = probability)) + 
	geom_bar(stat = "identity", fill = "dodgerblue") + 
	xlab("First digit") + ylab("Expected frequency") + 
	scale_x_continuous(breaks = 1:9, labels = 1:9) + 
	ylim(0, 0.33) + theme(text = element_text(size = 25))
Editar y ejecutar código