# NOT RUN {
# Wide example
def <- defData(varname = "xbase", formula = 5, variance = .4, dist = "gamma", id = "cid")
def <- defData(def, varname = "lambda", formula = ".5 + .1*xbase", dist = "nonrandom", link = "log")
def <- defData(def, varname = "p", formula = "-2 + .3*xbase", dist = "nonrandom", link = "logit")
dt <- genData(500, def)
dtX1 <- addCorGen(
dtOld = dt, idvar = "cid", nvars = 3, rho = .7, corstr = "cs",
dist = "poisson", param1 = "lambda"
)
dtX2 <- addCorGen(
dtOld = dt, idvar = "cid", nvars = 4, rho = .4, corstr = "ar1",
dist = "binary", param1 = "p"
)
# Long example
def <- defData(varname = "xbase", formula = 5, variance = .4, dist = "gamma", id = "cid")
def <- defData(def, "nperiods", formula = 3, dist = "noZeroPoisson")
def2 <- defDataAdd(
varname = "lambda", formula = ".5+.5*period + .1*xbase",
dist = "nonrandom", link = "log"
)
def2 <- defDataAdd(def2,
varname = "p", formula = "-3+.2*period + .3*xbase",
dist = "nonrandom", link = "logit"
)
def2 <- defDataAdd(def2,
varname = "gammaMu", formula = ".2*period + .3*xbase",
dist = "nonrandom", link = "log"
)
def2 <- defDataAdd(def2,
varname = "gammaDis",
formula = 1, dist = "nonrandom"
)
def2 <- defDataAdd(def2,
varname = "normMu",
formula = "5+period + .5*xbase", dist = "nonrandom"
)
def2 <- defDataAdd(def2,
varname = "normVar", formula = 4,
dist = "nonrandom"
)
def2 <- defDataAdd(def2,
varname = "unifMin",
formula = "5 + 2*period + .2*xbase", dist = "nonrandom"
)
def2 <- defDataAdd(def2,
varname = "unifMax",
formula = "unifMin + 20", dist = "nonrandom"
)
dt <- genData(1000, def)
dtLong <- addPeriods(dt, idvars = "cid", nPeriods = 3)
dtLong <- addColumns(def2, dtLong)
# Poisson distribution
dtX3 <- addCorGen(
dtOld = dtLong, idvar = "cid", nvars = 3, rho = .6, corstr = "cs",
dist = "poisson", param1 = "lambda", cnames = "NewPois"
)
dtX3
# Binomial distribution - copula method
dtX4 <- addCorGen(
dtOld = dtLong, idvar = "cid", nvars = 3, rho = .6, corstr = "cs",
dist = "binary", param1 = "p", cnames = "NewBin"
)
dtX4
# Gamma distribution
dtX6 <- addCorGen(
dtOld = dtLong, idvar = "cid", nvars = 3, rho = .6, corstr = "ar1",
dist = "gamma", param1 = "gammaMu", param2 = "gammaDis",
cnames = "NewGamma"
)
dtX6
# Normal distribution
dtX7 <- addCorGen(
dtOld = dtLong, idvar = "cid", nvars = 3, rho = .6, corstr = "ar1",
dist = "normal", param1 = "normMu", param2 = "normVar",
cnames = "NewNorm"
)
# Binary outcome - ep method
probform <- "-2 + .3*period"
def1 <- defDataAdd(
varname = "p", formula = probform,
dist = "nonrandom", link = "logit"
)
dx <- genData(100)
dx <- addPeriods(dx, nPeriods = 4)
dx <- addColumns(def1, dx)
dg <- addCorGen(dx,
nvars = 4,
corMatrix = NULL, rho = .3, corstr = "cs",
dist = "binary", param1 = "p",
method = "ep", formSpec = probform,
periodvar = "period"
)
# }
Run the code above in your browser using DataLab