Learn R Programming

matrixStats (version 0.51.0)

varDiff: Estimation of scale based on sequential-order differences

Description

Estimation of scale based on sequential-order differences, corresponding to the scale estimates provided by var, sd, mad and IQR.

Usage

varDiff(x, idxs=NULL, na.rm=FALSE, diff=1L, trim=0, ...)
 colVarDiffs(x, rows=NULL, cols=NULL, na.rm=FALSE, diff=1L, trim=0, ...)
 rowVarDiffs(x, rows=NULL, cols=NULL, na.rm=FALSE, diff=1L, trim=0, ...)

sdDiff(x, idxs=NULL, na.rm=FALSE, diff=1L, trim=0, ...) colSdDiffs(x, rows=NULL, cols=NULL, na.rm=FALSE, diff=1L, trim=0, ...) rowSdDiffs(x, rows=NULL, cols=NULL, na.rm=FALSE, diff=1L, trim=0, ...)

madDiff(x, idxs=NULL, na.rm=FALSE, diff=1L, trim=0, constant=1.4826, ...) colMadDiffs(x, rows=NULL, cols=NULL, na.rm=FALSE, diff=1L, trim=0, ...) rowMadDiffs(x, rows=NULL, cols=NULL, na.rm=FALSE, diff=1L, trim=0, ...)

iqrDiff(x, idxs=NULL, na.rm=FALSE, diff=1L, trim=0, ...) colIQRDiffs(x, rows=NULL, cols=NULL, na.rm=FALSE, diff=1L, trim=0, ...) rowIQRDiffs(x, rows=NULL, cols=NULL, na.rm=FALSE, diff=1L, trim=0, ...)

Arguments

x
A numeric vector of length N or a numeric NxK matrix.
idxs, rows, cols
A vector indicating subset of elements (or rows and/or columns) to operate over. If NULL, no subsetting is done.
na.rm
If TRUE, NAs are excluded, otherwise not.
diff
The positional distance of elements for which the difference should be calculated.
trim
A double in [0,1/2] specifying the fraction of observations to be trimmed from each end of (sorted) x before estimation.
constant
A scale factor adjusting for asymptotically normal consistency.
...
Not used.

Value

Returns a numeric vector of length 1, length N, or length K.

Details

Note that n-order difference MAD estimates, just like the ordinary MAD estimate by mad, apply a correction factor such that the estimates are consistent with the standard deviation under Gaussian distributions. The interquartile range (IQR) estimates does not apply such a correction factor. If asymptotically normal consistency is wanted, the correction factor for IQR estimate is 1 / (2 * qnorm(3/4)), which is half of that used for MAD estimates, which is 1 / qnorm(3/4). This correction factor needs to be applied manually, i.e. there is no constant argument for the IQR functions.

References

[1] J. von Neumann et al., The mean square successive difference. Annals of Mathematical Statistics, 1941, 12, 153-162.

See Also

For the corresponding non-differentiated estimates, see var, sd, mad and IQR. Internally, diff2() is used which is a faster version of diff().