Description Usage Arguments Details Value Author(s) See Also Examples
View source: R/createDiscreteCovariates.R
Create covariates from a discrete distribution
1 2 3 4 5 6 7 8 | createDiscreteCovariates(subjects,
names,
values,
probs,
probArray,
seed = .deriveFromMasterSeed(),
idCol = getEctdColName("Subject"),
includeIDCol = TRUE)
|
subjects |
(Required) Vector of subjects (or number of subjects) for which to create covariates |
names |
(Required) Names of the discrete covariates to be created. All the names
should be valid R names. See |
values |
(Required) Values that the covariates can take. See details section. |
probs |
(Optional) Probabilities for each covariates. See details section. |
probArray |
(Optional) Probability array for uneven sampling. See details section. |
seed |
(Optional) Random seed to use.By default, it is based on the current random seed |
idCol |
(Optional) Name of the subject column. Must be a valid R name (see
|
includeIDCol |
(Optional) A logical value. Should the subject column be included.
Typically, the |
The values
and probs
argument are parsed using the
parseHashString
helper function. They could be either :
- a vector giving the values for each variable.
c("1,2", "1,2,3")
would mean that the first variable takes values 1 and 2,
and the second variable takes values 1, 2 and 3.
- a list giving the values for each variable.
list(c(1,2), c(1,2,3))
would mean that the first variable takes values 1 and 2,
and the second variable takes values 1, 2 and 3.
- a compact notation using the hash symbol to separate variables
"1,2#1,2,3"
Additionally for the probs
argument, a check is performed to make sure that each
variable probability sums to 1.
Alternatively, a probArray
argument can be given. This should be a data frame
containing one more column (named "prob") than the number of variables to create. Each
variable has a column which contains the values it can take. The prob column gives the
probability for each combination. See examples. The prob column should sum up to one.
A data frame.
Mike K Smith mstoolkit@googlemail.com
createContinuousCovariates
,
createExternalCovariates
,
createTimeVaryingCovariates
, and
createCovariates
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# 10 samples of X and Y where:
# P[ X = 1 ] = .1
# P[ X = 2 ] = .9
# -
# P[ Y = 7 ] = .5
# P[ Y = 8 ] = .4
# P[ Y = 9 ] = .1
dat <- createDiscreteCovariates( 10 , names = "X, Y", probs = ".1,.9#.5,.4,.1",
values = "1,2#7,8,9")
print(dat)
stopifnot( all( dat$X %in% c(1,2)) )
stopifnot( all( dat$Y %in% c(7,8,9)) )
# using the probArray version
pa <- data.frame( F1 = rep(0:1, 3), F2 = rep(1:3, each = 2), PROB = c(.1,.2,.1,.2,.2,.2) )
print( pa )
createDiscreteCovariates( 100 , probArray = pa )
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.