Definición
Devuelve la desviación estándar muestral de los valores numéricos en una matriz.
Nota
Desambiguación
Esta página describe $stdDevSamp cuando se utiliza como una expresión que devuelve la desviación estándar de la muestra de valores numéricos en una matriz.
También puedes usar $stdDevSamp en estos otros contextos:
$stdDevSamp (accumulator), que calcula la desviación estándar de la muestra de valores en un grupo de documentos.$stdDevSamp (window function), que se utiliza en la etapa$setWindowFieldspara calcular la desviación estándar de la muestra de valores en una ventana.
Sintaxis
Cuando se usa como expresión, $stdDevSamp tiene una de estas sintaxis:
{ $stdDevSamp: <expression> }
En la sintaxis anterior, el operando es una expresión única que se evalúa como una matriz. $stdDevSamp recorre la matriz y devuelve la desviación estándar muestral de los valores numéricos de la matriz.
{ $stdDevSamp: [ <expression1>, <expression2>, ... ] }
En la sintaxis anterior, cada expresión debe evaluarse como un único valor numérico. $stdDevSamp devuelve la desviación estándar muestral de esos valores. Los valores no numéricos se ignoran.
Comportamiento
Tipo de resultado
$stdDevSamp devuelve la desviación estándar muestral de los valores de entrada como un double.
Non-Numeric Values
$stdDevSamp Ignora los valores no numéricos, los valores nulos y los campos faltantes. Si todos los valores de entrada no son numéricos o faltan, $stdDevSamp devuelve null.
Valor único
Si solo hay un valor numérico de entrada, $stdDevSamp devuelve null.
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 $stdDevSamp para calcular la desviación estándar de la muestra de las calificaciones de cada estudiante:
db.testScores.aggregate( [ { $project: { _id: 0, studentId: 1, scoreStdDev: { $stdDevSamp: "$scores" } } } ] )
En la secuencia anterior, $project con $stdDevSamp calcula la desviación estándar de la muestra del array scores de cada estudiante y la devuelve como scoreStdDev.