| rowMeansx {RandomFieldsUtils} | R Documentation |
The function rowMeansx returns weighted row means;
the function colMax returns column maxima;
the function rowProd returns the product of each row;
the function quadratic calculates a quadratic form
the function SelfDivByRow devides each column by a scalar;
the function dotXV calculates columnwise the dot product;
rowMeansx(x, weight=NULL) colMax(x) rowProd(x) SelfDivByRow(x, v) quadratic(x, v) dotXV(x, w)
x |
numerical (or logical) matrix |
v |
vector whose length equals the number of columns of |
w |
vector whose length equals the number of rows of |
weight |
numerical or logical vector of length |
quadratic(v,x) calculates the quadratic form v^\top x v;
The matrix x must be squared.
rowMeansx returns a vector of lengthnrow(x).
colMax returns a vector of length ncol(x).
rowProd returns a vector of length nrow(x).
quadratic returns a scalar.
SelfDivByRow returns a matrix of same size as x.
dotXV returns a matrix of same size as x.
Martin Schlather, schlather@math.uni-mannheim.de, http://ms.math.uni-mannheim.de
c <- if (interactive()) 10000 else 10
r <- if (interactive()) 20000 else 20
M <- matrix(nc = r, nr=r, 1:(c * r))
## unweighted means, compare to rowMeans
print(system.time(m1 <- rowMeans(M)))
print(system.time(m2 <- rowMeansx(M)))
stopifnot(all.equal(m1, m2))
## weighted row means, compare to rowMeans
W <- 1 / (ncol(M) : 1)
print(system.time({M0 <- t(W * t(M)); m1 <- rowMeans(M0)}))
print(system.time(m2 <- rowMeansx(M, W)))
stopifnot(all.equal(m1, m2))
print(system.time(m1 <- apply(M, 2, max)))
print(system.time(m2 <- colMax(M)))
stopifnot(m1 == m2)