# NOT RUN {
# Ordinal Categorical Data ----
def1 <- defData(
varname = "male",
formula = 0.45, dist = "binary", id = "idG"
)
def1 <- defData(def1,
varname = "z",
formula = "1.2*male", dist = "nonrandom"
)
def1
## Generate data
set.seed(20)
dx <- genData(1000, def1)
probs <- c(0.40, 0.25, 0.15)
dx <- genOrdCat(dx,
adjVar = "z", idname = "idG", baseprobs = probs,
catVar = "grp"
)
dx
# Correlated Ordinal Categorical Data ----
baseprobs <- matrix(c(
0.2, 0.1, 0.1, 0.6,
0.7, 0.2, 0.1, 0,
0.5, 0.2, 0.3, 0,
0.4, 0.2, 0.4, 0,
0.6, 0.2, 0.2, 0
),
nrow = 5, byrow = TRUE
)
set.seed(333)
dT <- genData(1000)
dX <- genOrdCat(dT,
adjVar = NULL, baseprobs = baseprobs,
prefix = "q", rho = .125, corstr = "cs", asFactor = FALSE
)
dX
dM <- data.table::melt(dX, id.vars = "id")
dProp <- dM[, prop.table(table(value)), by = variable]
dProp[, response := c(1:4, 1:3, 1:3, 1:3, 1:3)]
data.table::dcast(dProp, variable ~ response,
value.var = "V1", fill = 0
)
# }
Run the code above in your browser using DataLab