Observed exposure or treatment
trtObserve(dt, formulas, logit.link = FALSE, grpName = "trtGrp")
An integer (group) ranging from 1 to length of the probability vector
def <- defData(varname = "male", dist = "binary", formula = .5, id = "cid")
def <- defData(def, varname = "over65", dist = "binary", formula = "-1.7 + .8*male", link = "logit")
def <- defData(def, varname = "baseDBP", dist = "normal", formula = 70, variance = 40)
dtstudy <- genData(1000, def)
dtstudy
#> Key: <cid>
#> cid male over65 baseDBP
#> <int> <int> <int> <num>
#> 1: 1 0 0 64.36794
#> 2: 2 1 0 62.62015
#> 3: 3 0 0 76.14085
#> 4: 4 0 0 73.02500
#> 5: 5 0 0 65.15298
#> ---
#> 996: 996 1 0 52.00301
#> 997: 997 0 0 65.74322
#> 998: 998 0 0 84.24352
#> 999: 999 1 0 74.71579
#> 1000: 1000 0 1 82.82182
formula1 <- c("-2 + 2*male - .5*over65", "-1 + 2*male + .5*over65")
dtObs <- trtObserve(dtstudy, formulas = formula1, logit.link = TRUE, grpName = "exposure")
dtObs
#> Key: <cid>
#> cid exposure male over65 baseDBP
#> <int> <int> <int> <int> <num>
#> 1: 1 3 0 0 64.36794
#> 2: 2 3 1 0 62.62015
#> 3: 3 2 0 0 76.14085
#> 4: 4 1 0 0 73.02500
#> 5: 5 3 0 0 65.15298
#> ---
#> 996: 996 2 1 0 52.00301
#> 997: 997 3 0 0 65.74322
#> 998: 998 3 0 0 84.24352
#> 999: 999 2 1 0 74.71579
#> 1000: 1000 3 0 1 82.82182
# Check actual distributions
dtObs[, .(pctMale = round(mean(male), 2)), keyby = exposure]
#> Key: <exposure>
#> exposure pctMale
#> <int> <num>
#> 1: 1 0.67
#> 2: 2 0.71
#> 3: 3 0.21
dtObs[, .(pctMale = round(mean(over65), 2)), keyby = exposure]
#> Key: <exposure>
#> exposure pctMale
#> <int> <num>
#> 1: 1 0.11
#> 2: 2 0.29
#> 3: 3 0.14
dtSum <- dtObs[, .N, keyby = .(male, over65, exposure)]
dtSum[, grpPct := round(N / sum(N), 2), keyby = .(male, over65)]
#> Key: <male, over65>
#> male over65 exposure N grpPct
#> <int> <int> <int> <int> <num>
#> 1: 0 0 1 40 0.09
#> 2: 0 0 2 111 0.25
#> 3: 0 0 3 285 0.65
#> 4: 0 1 1 3 0.05
#> 5: 0 1 2 24 0.39
#> 6: 0 1 3 35 0.56
#> 7: 1 0 1 78 0.22
#> 8: 1 0 2 217 0.60
#> 9: 1 0 3 66 0.18
#> 10: 1 1 1 11 0.08
#> 11: 1 1 2 109 0.77
#> 12: 1 1 3 21 0.15
dtSum
#> Key: <male, over65>
#> male over65 exposure N grpPct
#> <int> <int> <int> <int> <num>
#> 1: 0 0 1 40 0.09
#> 2: 0 0 2 111 0.25
#> 3: 0 0 3 285 0.65
#> 4: 0 1 1 3 0.05
#> 5: 0 1 2 24 0.39
#> 6: 0 1 3 35 0.56
#> 7: 1 0 1 78 0.22
#> 8: 1 0 2 217 0.60
#> 9: 1 0 3 66 0.18
#> 10: 1 1 1 11 0.08
#> 11: 1 1 2 109 0.77
#> 12: 1 1 3 21 0.15