Learn R Programming

madness (version 0.2.8)

blockrep: Replicate blocks of multidimensional value.

Description

Replicates a multidimensional object a number of times along given dimensions.

Usage

blockrep(x, nreps)

repto(x, newdim)

repto(x, newdim)

Value

A madness object replicated out.

Arguments

x

a madness object, representing a k-dimensional object.

nreps

an l-vector of positive integers, representing how many times to copy the object.

newdim

an l-vector of positive integers of the new dimension of the output object. These must be integer multiples of the input dimensions.

Author

Steven E. Pav shabbychef@gmail.com

Details

Given a k-dimensional object, and an l-vector of positive integers, for l >= k, copy the input object l_i times in the ith dimension. Useful for replication and (slow, fake) outer products.

repto replicates to the given dimension, assuming the given dimension are integer multiples of the input dimensions.

Examples

Run this code
set.seed(123)
y <- array(rnorm(3*3),dim=c(3,3))
dy <- matrix(rnorm(length(y)*2),ncol=2)
dx <- crossprod(matrix(rnorm(ncol(dy)*100),nrow=100))
obj0 <- madness(val=y,vtag='y',xtag='x',dvdx=dy,varx=dx)

anobj <- blockrep(obj0,c(1,2,1))
anobj <- blockrep(obj0,c(1,1,2))
anobj <- repto(obj0,c(9,12,4))

Run the code above in your browser using DataLab