g_movvar(G;S;O;X;W;P)

Returns the variance of valid (non-N/A) values in a moving window within a given group.

Function type

Vector only

Syntax

g_movvar(G;S;O;X;W;P)
t_movvar(X;W;P)

Input

Argument Type Description
G any A space- or comma-separated list of column names

Rows are in the same group if their values for all of the columns listed in G are the same.

If G is omitted, all rows are considered to be in the same group.

If any of the columns listed in G contain N/A, the N/A value is considered a valid grouping value.

S integer The name of a column in which every row evaluates to a 1 or 0, which determines whether or not that row is selected to be included in the calculation

If S is omitted, all rows will be considered by the function (subject to any prior row selections).

If any of the values in S are neither 1 nor 0, an error is returned.

O integer A space- or comma-separated list of column names that determine the row order within a particular group

If O is omitted, the order is the current display order of the table.

If any of the values in O are N/A, an error is returned.

X any numeric type A column name
W integer The width of the moving window (or the name of a column whose values represent the width of the moving window)
Note: W may not be omitted.
P text A string that specifies the position of the moving window with respect to the current row
Valid values are:
  • 'lag' - specifies that the window lags the current row (i.e., the current row is the last row in the window, and the first row in the window is W-1 rows behind the current row)
  • 'lead' - specifies that the window leads the current row (i.e., the current row is the first row in the window, and the last row in the window is W-1 rows ahead of the current row)
  • 'center' - specifies that the window is centered around the current row (i.e., if W is an odd number, the window includes the (W-1)/2 rows behind the current row, the current row, and the (W-1)/2 rows ahead of the current row)
    Note: If P is 'center' and W is an even number, W is rounded down to the nearest odd number.

Return Value

For every row in each group defined by G and ordered by O (and for those rows where S=1, if specified), g_movvar returns a decimal value equal to the variance of valid (non-N/A) values in X that are in the same moving window and group as this row.

The window in which the variance is taken has width W, and its position with respect to the current row is determined by P.

Note: If the window extends beyond the beginning or end of the group, then only that part of the window that is within the group is considered.

Sample Usage

<base table="pub.doc.samples.ref.func.g_func_time_series_sample_usage"/>
<willbe name="g_movvar_1" value="g_movvar(state;include;order;value;3;'lag')"/>
<willbe name="g_movvar_2" value="g_movvar(state city;include;order;value;2;'lag')"/>

Additional Information

  • The t_ version of this function defaults the G argument and omits the S argument. The default for G is set at table load time based on the organization of the table.