rsampler {RaschSampler}R Documentation

Sampling Binary Matrices

Description

The function implements an MCMC algorithm for sampling of binary matrices with fixed margins complying to the Rasch model. Its stationary distribution is uniform. The algorithm also allows for square matrices with fixed diagonal.

Usage

rsampler(inpmat, controls = rsctrl())

Arguments

inpmat A binary (data) matrix with n rows and k columns.
controls An object of class RSctr. If not specified, the default parameters as returned by function rsctrl are used.

Details

rsampler is a wrapper function for a Fortran routine to generate binary random matrices based on an input matrix. On output the generated binary matrices are integer encoded. For further processing of the generated matrices use the function rstats.

Value

A list of class RSmpl with components

n number of rows of the input matrix
k number of columns of the input matrix
inpmat the input matrix
tfixed TRUE, if diagonals of inpmat are fixed
burn_in length of the burn in process
n_eff number of generated matrices (effective matrices)
step controls the number number of void matrices generated in the the burn in process and when effective matrices are generated (see note in rsctrl).
seed starting value for the random number generator
n_tot number of matrices in outvec, n_tot = n_eff + 1
outvec vector of encoded random matrices
ier error code

Note

An element of outvec is a four byte (or 32 bits) integer. The matrices to be output are stored bitwise (some bits are unused, since a integer is used for every row of a matrix. So the number of integers per row needed equals (k+31)/32 (integer division), which is one or two in the present application since the number of columns must not exceed 64 (see rsctrl).

The summary method (summary.RSmpl) prints information on the content of the output object.

Author(s)

Reinhold Hatzinger, Norman Verhelst

References

Verhelst, N. D. (2006) An efficient MCMC-algorithm to sample binary matrices with fixed marginals (under revision)

See Also

rsctrl, rstats

Examples

data(xmpl)
ctr<-rsctrl(burn_in=10, n_eff=5, step=10, seed=0, tfixed=FALSE)
res<-rsampler(xmpl,ctr)
summary(res)

[Package RaschSampler version 0.8-1 Index]