Skip to main content
Version: Java (Groovy)

stdBy

stdBy returns the standard deviation for each group. Null values are ignored.

caution

Applying this aggregation to a column where the standard deviation cannot be computed will result in an error. For example, the standard deviation is not defined for a column of string values.

Syntax

table.stdBy()
table.stdBy(groupByColumns...)

Parameters

ParameterTypeDescription
groupByColumnsString...

The column(s) by which to group data.

  • NULL returns the standard deviation for all non-key columns.
  • "X" will output the standard deviation of each group in column X.
  • "X", "Y" will output the standard deviation of each group designated from the X and Y columns.
groupByColumnsColumnName...

The column(s) by which to group data.

  • NULL returns the standard deviation for all non-key columns.
  • "X" will output the standard deviation of each group in column X.
  • "X", "Y" will output the standard deviation of each group designated from the X and Y columns.
groupByColumnsCollection<String>

The column(s) by which to group data.

  • NULL returns the standard deviation for all non-key columns.
  • "X" will output the standard deviation of each group in column X.
  • "X", "Y" will output the standard deviation of each group designated from the X and Y columns.

Returns

A new table containing the standard deviation for each group.

How to calculate standard deviation

Standard deviation is a measure of the dispersion of data values from the mean. The formula for standard deviation is the square root of the sum of squared differences from the mean divided by the size of the data set. For example:

s=i=1n(xixˉ)2n1s = \sqrt{\frac{\sum_{i=1}^{n}{(x_i - \bar{x})^2}}{n-1}}

Examples

In this example, stdBy returns the standard deviation of the whole table. Because the standard deviation cannot be computed for the string columns X and Y, these columns are dropped before applying stdBy.

source = newTable(
stringCol("X", "A", "B", "A", "C", "B", "A", "B", "B", "C"),
stringCol("Y", "M", "N", "O", "N", "P", "M", "O", "P", "M"),
intCol("Number", 55, 76, 20, 130, 230, 50, 73, 137, 214),
)

result = source.dropColumns("X", "Y").stdBy()

In this example, stdBy returns the standard deviation, as grouped by X. Because the standard deviation cannot be computed for the string column Y, this column is dropped before applying stdBy.

source = newTable(
stringCol("X", "A", "B", "A", "C", "B", "A", "B", "B", "C"),
stringCol("Y", "M", "N", "O", "N", "P", "M", "O", "P", "M"),
intCol("Number", 55, 76, 20, 130, 230, 50, 73, 137, 214),
)

result = source.dropColumns("Y").stdBy("X")

In this example, stdBy returns the standard deviation, as grouped by X and Y.

source = newTable(
stringCol("X", "A", "B", "A", "C", "B", "A", "B", "B", "C"),
stringCol("Y", "M", "N", "O", "N", "P", "M", "O", "P", "M"),
intCol("Number", 55, 76, 20, 130, 230, 50, 73, 137, 214),
)

result = source.stdBy("X", "Y")