Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
$standard DevSamp
Nuovo dalla versione 8.0.1.
L'$stdDevSampoperatore in Amazon DocumentDB calcola la deviazione standard del campione di valori numerici. Come accumulatore, calcola la deviazione standard del campione tra i documenti all'interno di un gruppo nella fase di una pipeline di aggregazione. $group Come espressione, calcola la deviazione standard del campione di una serie di numeri. La deviazione standard del campione viene utilizzata N-1 come divisore (correzione di Bessel). Non-numeric i valori vengono ignorati. Se sono presenti meno di due valori numerici, viene restituito. null
Parametri
-
expression: un'espressione che si risolve in un valore numerico o in una matrice di valori numerici.
Esempio (MongoDB Shell)
L'esempio seguente mostra come utilizzare l'$stdDevSampoperatore per calcolare la deviazione standard del campione dei punteggi per soggetto.
Crea documenti di esempio
db.scores.insertMany([ { subject: "math", score: 80 }, { subject: "math", score: 90 }, { subject: "math", score: 85 }, { subject: "math", score: 95 }, { subject: "science", score: 70 }, { subject: "science", score: 75 }, { subject: "science", score: 80 }, { subject: "science", score: 85 } ]);
Esempio di interrogazione
db.scores.aggregate([ { $group: { _id: "$subject", stdDev: { $stdDevSamp: "$score" } }} ]);
Output
[
{ "_id": "math", "stdDev": 6.454972243679028 },
{ "_id": "science", "stdDev": 6.454972243679028 }
]
Esempio di utilizzo delle espressioni (MongoDB Shell)
L'$stdDevSampoperatore può essere utilizzato anche come espressione all'interno di uno $project stadio per calcolare la deviazione standard del campione di un campo di matrice.
Crea documenti di esempio
db.experiments.insertMany([ { _id: 1, measurements: [10, 12, 14, 16, 18] }, { _id: 2, measurements: [5, 5, 5, 5, 5] }, { _id: 3, measurements: [2, 4, 6, 8, 10] } ]);
Esempio di interrogazione
db.experiments.aggregate([ { $project: { stdDev: { $stdDevSamp: "$measurements" } }} ]);
Output
[
{ "_id": 1, "stdDev": 3.1622776601683795 },
{ "_id": 2, "stdDev": 0 },
{ "_id": 3, "stdDev": 3.1622776601683795 }
]
Esempio di utilizzo dell'operatore di finestra (MongoDB Shell)
Nuovo dalla versione 8.0.2.
L'$stdDevSampoperatore può essere utilizzato anche come operatore di finestra nello $setWindowFields stage. In questo contesto, restituisce la deviazione standard di esempio dell'espressione specificata per i documenti in ciascuna finestra. Si specifica l'operatore sotto il output campo e, facoltativamente, si definiscono i confini della finestra con un window documento.
Create documenti di esempio
db.sensorReadings.insertMany([ { _id: 1, sensor: "A", time: 1, value: 2 }, { _id: 2, sensor: "A", time: 2, value: 4 }, { _id: 3, sensor: "A", time: 3, value: 6 }, { _id: 4, sensor: "B", time: 1, value: 10 }, { _id: 5, sensor: "B", time: 2, value: 12 } ]);
Esempio di interrogazione
L'esempio seguente partiziona i documenti in basesensor, ordina ogni partizione in base time e restituisce la deviazione standard del campione corrente value dall'inizio della partizione al documento corrente.
db.sensorReadings.aggregate([ { $setWindowFields: { partitionBy: "$sensor", sortBy: { time: 1 }, output: { runningStdDev: { $stdDevSamp: "$value", window: { documents: ["unbounded", "current"] } } } } } ]);
Output
[
{ "_id": 1, "sensor": "A", "time": 1, "value": 2, "runningStdDev": null },
{ "_id": 2, "sensor": "A", "time": 2, "value": 4, "runningStdDev": 1.4142135623730951 },
{ "_id": 3, "sensor": "A", "time": 3, "value": 6, "runningStdDev": 2 },
{ "_id": 4, "sensor": "B", "time": 1, "value": 10, "runningStdDev": null },
{ "_id": 5, "sensor": "B", "time": 2, "value": 12, "runningStdDev": 1.4142135623730951 }
]
Ogni documento è integrato con runningStdDev la deviazione standard di esempio all'valueinterno della sua partizione fino al documento corrente incluso. Quando la finestra contiene meno di due valori (il primo documento in ogni partizione), ritorna. $stdDevSamp null
Esempi di codice
Per visualizzare un esempio di codice per l'utilizzo $stdDevSamp dell'operatore, scegliete la scheda corrispondente alla lingua che desiderate utilizzare. Gli esempi seguenti mostrano l'uso dell'accumulatore (in$group), l'uso delle espressioni (in$project) e l'uso dell'operatore di finestra (in$setWindowFields):