¿Cómo obtener la desviación estándar de una array de números usando JavaScript?

Dada una array y la tarea es calcular la desviación estándar de la misma.

Ejemplo :

Input:  [1, 2, 3, 4, 5]
Output: 1.4142135623730951

Input:  [23, 4, 6, 457, 65, 7, 45, 8]
Output: 145.13565852332775

Consulte Media, varianza y desviación estándar para obtener más información.

La media es el promedio del elemento. Donde 0 <= i < n

Media de arr[0..n-1] = ∑(arr[i]) / n

La varianza es la suma de las diferencias al cuadrado de la media dividida por un número de elementos.

Varianza = ∑(arr[i] – media)2 / n

La desviación estándar es la raíz cuadrada de la varianza.

Desviación estándar = varianza ^ 1/2

Enfoque: Para calcular la desviación estándar primero calculamos la media y luego la varianza y luego la desviación. Para calcular la media, usamos el método Array.reduce() y calculamos la suma de todos los elementos de la array y luego dividimos la array con la longitud de la array.

Para calcular la varianza, usamos el método map() y mutamos la array asignando (valor – media) ^ 2 a cada elemento de la array, luego calculamos la suma de la array y luego dividimos la suma con la longitud de la formación. Para calcular la desviación estándar calculamos la raíz cuadrada de la array.

Ejemplo:

Javascript

<script>
// Javascript program to calculate the standered deviation of an array
function dev(arr){
  // Creating the mean with Array.reduce
  let mean = arr.reduce((acc, curr)=>{
    return acc + curr
  }, 0) / arr.length;
   
  // Assigning (value - mean) ^ 2 to every array item
  arr = arr.map((k)=>{
    return (k - mean) ** 2
  })
   
  // Calculating the sum of updated array
 let sum = arr.reduce((acc, curr)=> acc + curr, 0);
  
 // Calculating the variance
 let variance = sum / arr.length
  
 // Returning the Standered deviation
 return Math.sqrt(sum / arr.length)
}
 
 
console.log(dev([1, 2, 3, 4, 5]))
console.log(dev([23, 4, 6, 457, 65, 7, 45, 8]))
</script>

Producción:

1.4142135623730951
145.13565852332775

Publicación traducida automáticamente

Artículo escrito por _saurabh_jaiswal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *