Estimates of the interquartile range for each row (column) in a matrix

Share:

Description

Estimates of the interquartile range for each row (column) in a matrix.

Usage

1
2
3
 rowIQRs(x, rows=NULL, cols=NULL, na.rm=FALSE, ...)
 colIQRs(x, rows=NULL, cols=NULL, na.rm=FALSE, ...)
 iqr(x, idxs=NULL, na.rm=FALSE, ...)

Arguments

x

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, missing values are dropped first, otherwise not.

...

Additional arguments passed to rowQuantiles() (colQuantiles()).

Value

Returns a numeric vector of length N (K).

Missing values

Contrary to IQR, which gives an error if there are missing values and na.rm=FALSE, iqr() and its corresponding row and column-specific functions return NA_real_.

Author(s)

Henrik Bengtsson

See Also

See IQR. See rowSds().

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
set.seed(1)

x <- matrix(rnorm(50*40), nrow=50, ncol=40)
str(x)

# Row IQRs
q <- rowIQRs(x)
print(q)
q0 <- apply(x, MARGIN=1, FUN=IQR)
stopifnot(all.equal(q0, q))

# Column IQRs
q <- colIQRs(x)
print(q)
q0 <- apply(x, MARGIN=2, FUN=IQR)
stopifnot(all.equal(q0, q))

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.