Simulates a symmetric matrix with block structure. If
continuous=FALSE, matrix entries are sampled from a discrete uniform
distribution taking values in v_within (for entries in the diagonal
block) or v_between (for entries in off-diagonal blocks). If
continuous=TRUE, entries are sampled from a continuous uniform
distribution taking values in the range given by v_within or
v_between.
SimulateSymmetricMatrix(
pk = 10,
v_within = c(0.5, 1),
v_between = c(0, 0.1),
v_sign = c(-1, 1),
continuous = FALSE
)A symmetric matrix with uniformly distributed entries sampled from different distributions for diagonal and off-diagonal blocks.
vector of the number of variables per group, defining the block structure.
vector defining the (range of) nonzero entries in the
diagonal blocks. If continuous=FALSE, v_within is the set of
possible values. If continuous=FALSE, v_within is the range
of possible values.
vector defining the (range of) nonzero entries in the
off-diagonal blocks. If continuous=FALSE, v_between is the
set of possible precision values. If continuous=FALSE,
v_between is the range of possible precision values. This argument
is only used if length(pk)>1.
vector of possible signs for matrix entries. Possible inputs
are: -1 for negative entries only, 1 for positive entries
only, or c(-1, 1) for both positive and negative entries.
logical indicating whether to sample precision values from
a uniform distribution between the minimum and maximum values in
v_within (diagonal blocks) or v_between (off-diagonal blocks)
(continuous=TRUE) or from proposed values in v_within
(diagonal blocks) or v_between (off-diagonal blocks)
(continuous=FALSE).