Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

rowMeansx

Some Further Row and Column Functions


Description

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;

Usage

rowMeansx(x, weight=NULL)
colMax(x)
rowProd(x)
SelfDivByRow(x, v)
quadratic(x, v)
dotXV(x, w)

Arguments

x

numerical (or logical) matrix

v

vector whose length equals the number of columns of x

w

vector whose length equals the number of rows of x

weight

numerical or logical vector of length nrow(x)

Details

quadratic(v,x) calculates the quadratic form v^\top x v; The matrix x must be squared.

Value

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.

Author(s)

Examples

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)

RandomFieldsUtils

Utilities for the Simulation and Analysis of Random Fields

v0.5.3
GPL (>= 3)
Authors
Martin Schlather [aut, cre], Reinhard Furrer [ctb], Martin Kroll [ctb], Brian D. Ripley [ctb]
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.