Definición
Devuelve la desviación estándar poblacional de los valores numéricos en una matriz.
Nota
Desambiguación
Esta página describe $stdDevPop cuando se utiliza como expresión.
También puedes usar $stdDevPop en estos otros contextos:
$stdDevPop (accumulator), que devuelve la desviación estándar poblacional de los valores en un grupo de documentos.$stdDevPop (window function), que se utiliza en la etapa$setWindowFieldspara calcular la desviación estándar de la población de valores de documentos en una ventana en particular.
Sintaxis
Cuando se utiliza como expresión, $stdDevPop tiene una de las dos sintaxis siguientes:
{ $stdDevPop: <expression> }
En la sintaxis anterior, el operando es una expresión única que se evalúa como un array. $stdDevPop recorre el array y devuelve la desviación estándar poblacional de los valores numéricos del array.
{ $stdDevPop: [ <expression1>, <expression2>, ... ] }
En la sintaxis anterior, cada expresión debe evaluarse como un único valor numérico. $stdDevPop devuelve la desviación estándar poblacional de dichos valores. Los valores no numéricos se ignoran.
Comportamiento
Tipo de resultado
$stdDevPop devuelve la desviación estándar de la población de los valores de entrada como un double.
Valores no numéricos o faltantes
$stdDevPop Ignora los valores no numéricos, incluidos los valores faltantes. Si todos los valores de entrada no son numéricos, $stdDevPop devuelve null.
Valor único
Si la entrada consiste en un único valor numérico, $stdDevPop devuelve 0.
Ejemplo
Cree una colección testScores:
db.testScores.insertMany( [ { studentId: "2345", scores: [ 62, 81, 80, 75, 68, 72, 74, 78, 69, 77 ] }, { studentId: "2356", scores: [ 60, 83, 79, 72, 65, 71, 68, 74, 64, 76 ] }, { studentId: "2358", scores: [ 67, 82, 78, 70, 84, 73, 79, 71, 88, 75 ] }, { studentId: "2367", scores: [ 64, 72, 77, 58, 91, 66, 83, 55, 94, 61 ] }, { studentId: "2369", scores: [ 60, 53, 72, 85, 63, 88, 57, 79, 66, 74 ] } ] )
El siguiente proceso utiliza $stdDevPop para calcular la desviación estándar poblacional de las puntuaciones de las pruebas de cada estudiante:
db.testScores.aggregate( [ { $project: { _id: 0, studentId: 1, scoreStdDev: { $stdDevPop: "$scores" } } } ] )
En la secuencia anterior, $project con $stdDevPop calcula la desviación estándar de la población del array scores de cada estudiante y la devuelve como scoreStdDev.