rmvbin {bindata} | R Documentation |
Creates correlated multivariate binary random variables by thresholding a normal distribution. The correlations of the components can be specified either as common probabilities, correlation matrix of the binary distribution, or covariance matrix of the normal distribution.
rmvbin(n, margprob, commonprob=diag(margprob),
bincorr=diag(length(margprob)),
sigma=diag(length(margprob)),
colnames=NULL, simulvals=NULL)
n |
number of observations. |
margprob |
margin probabilities that the components are 1. |
commonprob |
matrix of probabilities that components |
bincorr |
matrix of binary correlations. |
sigma |
covariance matrix for the normal distribution. |
colnames |
vector of column names for the resulting observation matrix. |
simulvals |
result from |
Only one of the arguments commonprob
, bincorr
and
sigma
may be specified. Default are uncorrelated components.
n
samples from a multivariate normal distribution with mean and
variance chosen in order to get the desired margin and common
probabilities are sampled. Negative values are converted to 0,
positive values to 1.
Friedrich Leisch
Friedrich Leisch, Andreas Weingessel and Kurt Hornik (1998). On the generation of correlated artificial binary data. Working Paper Series, SFB “Adaptive Information Systems and Modelling in Economics and Management Science”, Vienna University of Economics.
commonprob2sigma
,
check.commonprob
,
simul.commonprob
## uncorrelated columns:
rmvbin(10, margprob=c(0.3,0.9))
## correlated columns
m <- cbind(c(1/2,1/5,1/6),c(1/5,1/2,1/6),c(1/6,1/6,1/2))
rmvbin(10,commonprob=m)
## same as the second example, but faster if the same probabilities are
## used repeatedly (commonprob2sigma rather slow)
sigma <- commonprob2sigma(m)
rmvbin(10,margprob=diag(m),sigma=sigma)