定義
配列内の数値の母集団標準偏差を返します。
注意
曖昧さ回避
このページでは、式として使用する場合の$stdDevPop について説明します。
次の他のコンテキストでは $stdDevPop を使用することもできます。
$stdDevPop (accumulator)は、ドキュメントのグループ全体の値の母集団標準偏差を返します。$stdDevPop (window function)。これは特定のウィンドウ内のドキュメントからの値の母集団標準偏差を計算するために$setWindowFieldsステージで使用されます。
構文
式として使用する場合、$stdDevPop は次の 2 つの構文のいずれかをとります。
{ $stdDevPop: <expression> }
上記の構文では 、オペランドは配列として評価される単一の式です。 $stdDevPop は 配列を走査し、配列の数値の母集団標準偏差を返します。
{ $stdDevPop: [ <expression1>, <expression2>, ... ] }
上記の構文では、各式は単一の数値に評価される必要があります。 $stdDevPop は、それらの値の母集団標準偏差を返します。数値以外の値は無視されます。
動作
結果の型
$stdDevPop 入力値の母集団標準偏差をdoubleとして返します。
数値以外の値または欠損値
$stdDevPop は欠落値を含む数値以外の値を無視します。すべての入力値が数値以外の場合、$stdDevPop は null を返します。
単一の値
入力が単一の数値で構成されている場合、$stdDevPop は 0 を返します。
例
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 ] } ] )
次のパイプラインは$stdDevPop を使用して、各生徒のテスト スコアの母集団標準偏差を計算します。
db.testScores.aggregate( [ { $project: { _id: 0, studentId: 1, scoreStdDev: { $stdDevPop: "$scores" } } } ] )
前述のパイプラインでは、$project と$stdDevPop は、各生徒の 配列の母集団標準偏差を計算し、それをscores scoreStdDevとして返します。