Skip to content

Commit

Permalink
version 0.7.1
Browse files Browse the repository at this point in the history
  • Loading branch information
kgoldfeld authored and cran-robot committed Nov 23, 2023
1 parent e6a9282 commit 782acaf
Show file tree
Hide file tree
Showing 75 changed files with 3,498 additions and 1,459 deletions.
14 changes: 7 additions & 7 deletions DESCRIPTION
@@ -1,8 +1,8 @@
Type: Package
Package: simstudy
Title: Simulation of Study Data
Version: 0.7.0
Date: 2023-06-01
Version: 0.7.1
Date: 2023-11-22
Authors@R:
c(person(given = "Keith",
family = "Goldfeld",
Expand All @@ -27,19 +27,19 @@ URL: https://github.com/kgoldfeld/simstudy,
https://kgoldfeld.github.io/simstudy/dev/
BugReports: https://github.com/kgoldfeld/simstudy/issues
Depends: R (>= 3.3.0)
Imports: data.table, glue, methods, mvnfast, Rcpp, backports
Imports: data.table, glue, methods, mvnfast, Rcpp, backports, fastglm
Suggests: covr, dplyr, formatR, gee, ggplot2, grid, gridExtra,
hedgehog, knitr, magrittr, Matrix, mgcv, ordinal, pracma,
rmarkdown, scales, splines, survival, testthat, gtsummary,
survminer, katex, dirmult
LinkingTo: Rcpp, pbv (>= 0.4-22)
survminer, katex, dirmult, rms
LinkingTo: Rcpp, pbv (>= 0.4-22), fastglm
VignetteBuilder: knitr
Encoding: UTF-8
RoxygenNote: 7.2.3
NeedsCompilation: yes
Packaged: 2023-06-01 13:27:29 UTC; keith
Packaged: 2023-11-23 00:44:30 UTC; keith
Author: Keith Goldfeld [aut, cre] (<https://orcid.org/0000-0002-0292-8780>),
Jacob Wujciak-Jens [aut] (<https://orcid.org/0000-0002-7281-3989>)
Maintainer: Keith Goldfeld <keith.goldfeld@nyulangone.org>
Repository: CRAN
Date/Publication: 2023-06-01 13:40:02 UTC
Date/Publication: 2023-11-23 01:00:02 UTC
143 changes: 74 additions & 69 deletions MD5
@@ -1,63 +1,66 @@
5768254ba08b51701d69fdd2ec739442 *DESCRIPTION
7c818e3ed46458778f387d0021e37650 *NAMESPACE
d798fbbc376e4e00846bc064db2c89bd *R/RcppExports.R
fddd9b9ef73053798f26cbb437b98a97 *R/add_correlated_data.R
d33b2516838d83552207da013600848f *DESCRIPTION
0ee5ffbbc49469b7f8ae0afcd2f09929 *NAMESPACE
0793f5e5a9073a18b7977bfa0a788b22 *R/RcppExports.R
226bde196c0a71404f51de322fce1fc3 *R/add_correlated_data.R
c38275463a38e976f007c33f5224ad75 *R/add_data.R
4f74c45c37321d387261f3a8ff915d12 *R/asserts.R
397712368768be6ac4559184845126ab *R/conditions.R
c00827872741340bf5655a5c3f7f2ac7 *R/define_data.R
8332848d24bee84fe7dcb4d6fe7fa3a2 *R/generate_correlated_data.R
e71ec17618a8d6018dd15f667b8eb936 *R/generate_correlated_data.R
cdef8dcc19c4f6e5c347ebbdd9c417cf *R/generate_data.R
9c7049e0dfd761edd3adfcbc8d5bf780 *R/generate_dist.R
126b186bd7939af458ce2b1e5ef017ac *R/generate_dist.R
20be8bf9cdf61bea6e5979cf49ed6b1d *R/glue.R
a820f49c023d7eab5d5613f5db143507 *R/group_data.R
5395e4742d44b7cd999046f2bc3c780e *R/group_data.R
9fd35a4187fadfc5db575f449d5f2872 *R/int_rmult.R
71d2aacb15727f69ae961c5eab154502 *R/internal_utility.R
6d8c27667aa28179728106fd3dcfe0ee *R/internal_utility.R
4ae9457df2c7c58c5b9923a8a9402841 *R/missing_data.R
f2b3f8d6adddce59fdbb15409bcbda79 *R/simstudy-package.R
aea873b9d754c14b8bdd983afe320baf *R/utility.R
00f8db22cefd4ecad3a5e3befe263b9f *R/utility.R
a1c1829b987daed614b734ae41c62bfe *R/zzz.R
dddf12dfa7e5faa1480b55fe04bfcef5 *build/vignette.rds
32b5ee05365ce8b6513b6a56a2dfbedf *build/vignette.rds
c0752245cd4997d2b5ae10f945c9a7e0 *inst/CITATION
41e7ca8e8418a6daf4bc064d7feaedfa *inst/doc/clustered.R
8aaa3531fbd5ad77a75d78401cf466f6 *inst/doc/clustered.Rmd
05cf55122001c32c2c060677087a968c *inst/doc/clustered.html
703d7123ec12ed7fd30649d7c8832aaf *inst/doc/corelationmat.R
9a8dd81ce7dc9733cc4c595b483e7a05 *inst/doc/corelationmat.Rmd
c8a55ff4ea2b0acaf6ce4c3177335e36 *inst/doc/corelationmat.html
397bd3da4fd22f59d78440e07ffdaabd *inst/doc/correlated.R
adb2db9f7c4c38973f11cfac5765281e *inst/doc/correlated.Rmd
a51eb9f8453947d8da78c265f8800ab4 *inst/doc/correlated.html
28a70873f0a07d6369ea7f15c46ab411 *inst/doc/double_dot_extension.R
78e0fd72c2c05cfe43c18890b86e2486 *inst/doc/double_dot_extension.Rmd
b3b4d160cb3f99b05e2570ed7628f6db *inst/doc/double_dot_extension.html
eaa25902628ff3eae63e57e3b58c20b3 *inst/doc/longitudinal.R
2a041d7743427d8db336c55d199df886 *inst/doc/longitudinal.Rmd
b1744ecfd6611e5a8cf3af0603d0eca1 *inst/doc/longitudinal.html
511e07928b943bc9cca2e427c52d65ca *inst/doc/missing.R
1981dbfcbbe076ee038ad227c66b72e5 *inst/doc/missing.Rmd
5c3c5e5f7e72a0a71796299d8f217040 *inst/doc/missing.html
3fc54947ad99f028dd1339e2d99b43cd *inst/doc/ordinal.R
240fbaee7ade537a9cb378d6bc5fb193 *inst/doc/ordinal.Rmd
1bc7f8d0771a9aaf6df3dc2c7eb3e20c *inst/doc/ordinal.html
cd6189f165b144b478ab380015f8015a *inst/doc/simstudy.R
e5c3cc948999d1a03e9c7e2cf4f9ae42 *inst/doc/simstudy.Rmd
c7575dfa0e8a2336c122ee87c85d5d50 *inst/doc/simstudy.html
7fb1f079865d9b05d14040222b4b38b0 *inst/doc/spline.R
aaed7cd27bc967a5d18cdc23cab161a7 *inst/doc/spline.Rmd
5d9bfc39388628cdb5d3b485b50097e1 *inst/doc/spline.html
7da5d217d06d02b559f5b0f9282315ff *inst/doc/survival.R
12a6af36a4d5bd088bce0adb8ec7c7a6 *inst/doc/survival.Rmd
7a01153a2357789923558c9f8f7356af *inst/doc/survival.html
d8bc90687992b28e6a3f85936e21ddbd *inst/doc/treat_and_exposure.R
3350c862513e10e2a084f76715f12458 *inst/doc/treat_and_exposure.Rmd
c50e2cfc364c5bfe1ddab2da9556ff3f *inst/doc/treat_and_exposure.html
82e6a66acf4d128f59f4dbca792b52f1 *inst/doc/clustered.R
a7c1690aa805bef67443f91ce6af7fda *inst/doc/clustered.Rmd
c89893cfdbb94c6d58a6536c634814c8 *inst/doc/clustered.html
1fda968770cd092b31509b55145574d8 *inst/doc/corelationmat.R
9f12fa63b29be1db9f01ef4cf6ee59d2 *inst/doc/corelationmat.Rmd
5327f208e1227155084a66f87bf8d1d0 *inst/doc/corelationmat.html
567dba017dfce3050a3d7f6a6877432e *inst/doc/correlated.R
d2fb54e88cc53d7de715012983360304 *inst/doc/correlated.Rmd
beffa3b0b5f539223422b988b842b089 *inst/doc/correlated.html
960f2c6356514aa4096bd3ad3bb31bcd *inst/doc/double_dot_extension.R
a347d8e7f4f6037a2731967f416ebc64 *inst/doc/double_dot_extension.Rmd
93d6c50f6595c95562632711b395350d *inst/doc/double_dot_extension.html
a3f34ff207784d9d494c550879ef9825 *inst/doc/logisticCoefs.R
38d645ae895e8895115675910688da14 *inst/doc/logisticCoefs.Rmd
da7681f46b930b2918294eed7b7c5779 *inst/doc/logisticCoefs.html
c0340225cb49ea81c0fe7a152ae78a7a *inst/doc/longitudinal.R
943b1d35dbf0a819b9d4aca8c717092d *inst/doc/longitudinal.Rmd
a54fd3f0dbd1cdb4c32157a482689919 *inst/doc/longitudinal.html
5f4a6d4c92b21babeabc5d2cab6e2392 *inst/doc/missing.R
d84699592547359f6c966a2f030c4df1 *inst/doc/missing.Rmd
fc000f70853ae7271c2eb0397ae63f4f *inst/doc/missing.html
7d34a631e09da3b73696de2688021be6 *inst/doc/ordinal.R
79959e2396041ba2f9867a6da0b55af8 *inst/doc/ordinal.Rmd
097613c4d2fa04fe6e1e75f75f0750bc *inst/doc/ordinal.html
9d868713bbfaca29c45bfb3f8237ee3c *inst/doc/simstudy.R
0abcfc017e37b948fc0487001b5324fa *inst/doc/simstudy.Rmd
0400abf1fce6d523cc21963b494821e0 *inst/doc/simstudy.html
8d9b5edf2e86df6b9e7db25e44210b42 *inst/doc/spline.R
dc65c760f7496457cb4b9df927126b33 *inst/doc/spline.Rmd
e7af52c2c99aa4fc7a4cb3c150a12fb5 *inst/doc/spline.html
66b21648ed0b826de41a51ac3e987c37 *inst/doc/survival.R
151bd73a42b2ed0d7983f065ad64be8b *inst/doc/survival.Rmd
d4ccec14bb5b4fbd64f1628fa60baf67 *inst/doc/survival.html
e802a42f93bcb39c55f42d21709a7de8 *inst/doc/treat_and_exposure.R
bec20fc20eabe441e985ce9e78ab1fea *inst/doc/treat_and_exposure.Rmd
f5fad5b3767b5b65d8cd2f8b059916cf *inst/doc/treat_and_exposure.html
82ad2ba791ac3f301d31f693e7f0b192 *man/addColumns.Rd
b8fe8dbda053bab4de25a7982c902db6 *man/addCompRisk.Rd
ce3708a1c4688e44e2b1c84830a1b0c5 *man/addCompRisk.Rd
ccc90c9d8bbad64478fb1ed165a890cd *man/addCondition.Rd
9f9ef16e4d0e673db29fd70df0a82c3b *man/addCorData.Rd
f5b591e50e3c548f2ded3580830d3070 *man/addCorFlex.Rd
aa4290bb92888309a37758dcf7c63838 *man/addCorGen.Rd
4fce1621a4406b13a3e8c39a8126b928 *man/addCorGen.Rd
8264df0e86ea5d2b4fc51482ee3c3dec *man/addMarkov.Rd
a39d95e37be81ab69dd0fdf2eed8c8ee *man/addMultiFac.Rd
5e2bdf680d956c0d9b0de87200fc84fd *man/addPeriods.Rd
Expand All @@ -82,7 +85,7 @@ abf59c096fcd80225c446d9031f37c23 *man/defSurv.Rd
3fc5f5253687495283bbdb5e43387689 *man/genCatFormula.Rd
a99f72af23d75cb5c4e4984fa9f6767c *man/genCluster.Rd
829b432bb6e30659fc351a5aeb94a16e *man/genCorData.Rd
e191bc171f4cac1b245f1b549671d43a *man/genCorFlex.Rd
6aa96601e4e2f10e92f05bfb553cdac8 *man/genCorFlex.Rd
e437092a733c25b18519aae9a198b633 *man/genCorGen.Rd
6963d47b0f5d988f5352a0d0aaf9d26f *man/genCorMat.Rd
47b0d9c2c412f1ec2a1caa0b95b5eaaa *man/genCorOrdCat.Rd
Expand All @@ -101,6 +104,7 @@ d6081f1b0a6c9e0b086f074d1495db3f *man/genMultiFac.Rd
9d3e53edbdd8e964fe5fb5cad6d16dc7 *man/genSurv.Rd
35336e46708eeaf40cfc5c5e9cbf6b7c *man/genSynthetic.Rd
5bf623d6ef0d0b3904d9b4afab5d9b91 *man/iccRE.Rd
641309c64ac0c60337cb86ec8740f2f9 *man/logisticCoefs.Rd
87a1909ef3202d4e679b6143aec90c40 *man/mergeData.Rd
ebc958b81f5f032812f073422b952523 *man/negbinomGetSizeProb.Rd
92f0ab22b64230d5a326e751e0ca0c3a *man/simstudy-deprecated.Rd
Expand All @@ -115,34 +119,35 @@ d011ad2c7578351b236592eb647bf0cd *man/trtStepWedge.Rd
7877937fcd60b9a021b4a116221e6bbe *man/updateDefAdd.Rd
088304c650398c7673fe4ad5fa63c12a *man/viewBasis.Rd
72e81e22e6c3c420376fc8f3619cc128 *man/viewSplines.Rd
b0584b1a995935a0d9b834b9848975aa *src/RcppExports.cpp
fcc9c7eafae2c55b8544c6da3b51d1f7 *src/srcRcpp.cpp
04ea6e7e596e981740c9e106967f40b4 *tests/testthat.R
f776fc930b68e04afbbe837b7523c765 *src/RcppExports.cpp
2b9e60ba542d4e40f7dcf280344c9791 *src/srcRcpp.cpp
6cb666e94d3c78146d2b61404fda504e *tests/testthat.R
42739c520a2d491d5d91b487d1fa35d5 *tests/testthat/helper-gen_def.R
2992fb1dcf628cc0cc5c1d9674497b7f *tests/testthat/setup-general.R
00461059e1127afcaf8bd19bf37f6136 *tests/testthat/teardown-general.R
dd9a5240a2a099acbecbb1f9392efa95 *tests/testthat/test-actual-distributions.R
affc6368c549185ca35ac26692eeb2be *tests/testthat/test-add_data.R
c803bdcc61840bf4f042ec99fa5cb3ab *tests/testthat/test-add_data.R
0bed67b2a92bb8eb11a968ff2dc0df44 *tests/testthat/test-asserts.R
cc919f0958707a177a364a3ce4e90dbc *tests/testthat/test-conditions.R
2c6b4d670b0944da6c5dd6af49bb6d19 *tests/testthat/test-define_data.R
f8275b9cf492aa91e5d9ed29f56d0c81 *tests/testthat/test-conditions.R
97c953eb7904798c2813461ddc292e34 *tests/testthat/test-define_data.R
a32649391332d185fada6e0634d1ba9d *tests/testthat/test-generate_correlated_data.R
8bbf6af48678ae4a531bd89a950bc676 *tests/testthat/test-generate_data.R
5b830c66b2d245ae07865ddacdca13fc *tests/testthat/test-generate_dist.R
6ae813fc5dbadc45c5f20e098e953df4 *tests/testthat/test-glue.R
783a9031a97e76dae1cb27e6db209ca4 *tests/testthat/test-group_data.R
61816b5f7f670d0fd7dce82b63a11641 *tests/testthat/test-internal_utility.R
2027ef487e4f99c3f40d8fe0b3ff8097 *tests/testthat/test-missing_data.R
37125167c88104b5aef1416fb2326a42 *tests/testthat/test-survival.R
c882be058535f2258fc91062645046bb *tests/testthat/test-utility.R
8aaa3531fbd5ad77a75d78401cf466f6 *vignettes/clustered.Rmd
9a8dd81ce7dc9733cc4c595b483e7a05 *vignettes/corelationmat.Rmd
adb2db9f7c4c38973f11cfac5765281e *vignettes/correlated.Rmd
78e0fd72c2c05cfe43c18890b86e2486 *vignettes/double_dot_extension.Rmd
2a041d7743427d8db336c55d199df886 *vignettes/longitudinal.Rmd
1981dbfcbbe076ee038ad227c66b72e5 *vignettes/missing.Rmd
240fbaee7ade537a9cb378d6bc5fb193 *vignettes/ordinal.Rmd
e5c3cc948999d1a03e9c7e2cf4f9ae42 *vignettes/simstudy.Rmd
aaed7cd27bc967a5d18cdc23cab161a7 *vignettes/spline.Rmd
12a6af36a4d5bd088bce0adb8ec7c7a6 *vignettes/survival.Rmd
3350c862513e10e2a084f76715f12458 *vignettes/treat_and_exposure.Rmd
9019dfbdd828d384a8445a7397d76b24 *tests/testthat/test-glue.R
5c5033cda5f23203154952e427d65c8a *tests/testthat/test-group_data.R
f628f16708a4a39c6298249f1fc2fed2 *tests/testthat/test-internal_utility.R
051d4be80b67ef225680d32b27f735da *tests/testthat/test-missing_data.R
6bdc91f8f440d9ae16877118b0afaf62 *tests/testthat/test-survival.R
b21dc531dcce6ecdacc4549b1f4c656d *tests/testthat/test-utility.R
a7c1690aa805bef67443f91ce6af7fda *vignettes/clustered.Rmd
9f12fa63b29be1db9f01ef4cf6ee59d2 *vignettes/corelationmat.Rmd
d2fb54e88cc53d7de715012983360304 *vignettes/correlated.Rmd
a347d8e7f4f6037a2731967f416ebc64 *vignettes/double_dot_extension.Rmd
38d645ae895e8895115675910688da14 *vignettes/logisticCoefs.Rmd
943b1d35dbf0a819b9d4aca8c717092d *vignettes/longitudinal.Rmd
d84699592547359f6c966a2f030c4df1 *vignettes/missing.Rmd
79959e2396041ba2f9867a6da0b55af8 *vignettes/ordinal.Rmd
0abcfc017e37b948fc0487001b5324fa *vignettes/simstudy.Rmd
dc65c760f7496457cb4b9df927126b33 *vignettes/spline.Rmd
151bd73a42b2ed0d7983f065ad64be8b *vignettes/survival.Rmd
bec20fc20eabe441e985ce9e78ab1fea *vignettes/treat_and_exposure.Rmd
2 changes: 2 additions & 0 deletions NAMESPACE
Expand Up @@ -48,6 +48,7 @@ export(genSpline)
export(genSurv)
export(genSynthetic)
export(iccRE)
export(logisticCoefs)
export(mergeData)
export(negbinomGetSizeProb)
export(survGetParams)
Expand All @@ -64,6 +65,7 @@ import(data.table)
import(glue)
importFrom(Rcpp,evalCpp)
importFrom(Rcpp,sourceCpp)
importFrom(fastglm,fastglm)
importFrom(methods,is)
useDynLib(simstudy)
useDynLib(simstudy, .registration = TRUE)
12 changes: 12 additions & 0 deletions R/RcppExports.R
Expand Up @@ -29,3 +29,15 @@ getRhoMat <- function(N, P, TCORR) {
.Call(`_simstudy_getRhoMat`, N, P, TCORR)
}

getBeta0 <- function(lvec, popPrev, tolerance) {
.Call(`_simstudy_getBeta0`, lvec, popPrev, tolerance)
}

estAUC <- function(dmatrix, y) {
.Call(`_simstudy_estAUC`, dmatrix, y)
}

getBeta_auc <- function(covmat, coefs, auc, popPrev, tolerance) {
.Call(`_simstudy_getBeta_auc`, covmat, coefs, auc, popPrev, tolerance)
}

24 changes: 16 additions & 8 deletions R/add_correlated_data.R
Expand Up @@ -317,7 +317,6 @@ addCorFlex <- function(dt, defs, rho = 0, tau = NULL, corstr = "cs",
#' # 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 = "p", formula = "-3+.2*period + .3*xbase",
Expand All @@ -328,6 +327,11 @@ addCorFlex <- function(dt, defs, rho = 0, tau = NULL, corstr = "cs",
#'
#' dtLong <- addPeriods(dt, idvars = "cid", nPeriods = 3)
#' dtLong <- addColumns(def2, dtLong)
#'
#' addCorGen(
#' dtOld = dtLong, idvar = "cid", nvars = NULL, rho = .7, corstr = "cs",
#' dist = "binary", param1 = "p"
#' )
#'
#' @concept correlated
#' @export
Expand Down Expand Up @@ -468,7 +472,8 @@ addCorGen <- function(dtOld, nvars=NULL, idvar = "id", rho=NULL, corstr=NULL, co
}

dtTemp[, seq_ := 1:.N, keyby = .id]

nvars <- dtTemp[.id == 1, .N] # only permits case where number of records per id is the same

####

if (method == "copula") {
Expand All @@ -478,15 +483,18 @@ addCorGen <- function(dtOld, nvars=NULL, idvar = "id", rho=NULL, corstr=NULL, co
dtM <- rbindlist(
lapply(ns, function(x) .genQuantU(x$N, 1, rho, corstr, corMatrix[[x$.id]]))
)
dtTemp[, .U := dtM$Unew]
} else {
ns <- as.list(dtTemp[, .N, keyby = .id][,N])
dtM <- rbindlist(
lapply(ns, function(x) .genQuantU(x, 1, rho, corstr, corMatrix))
)
if (is.null(corMatrix)) {
corMatrix <- .buildCorMat(nvars, corMatrix = NULL, rho = rho, corstr = corstr)
}
ns <- nrow(dtTemp[, .N, keyby = .id])
Unew <- c(t(mvnfast::rmvn(n = ns, mu = rep(0, nvars), sigma = corMatrix)))

dtTemp[, .U := stats::pnorm(Unew)]
}

dtTemp[, .U := dtM$Unew]
dtTemp[, seq := dtM$seq]
# dtTemp[, seq := dtM$seq]

if (dist == "poisson") {
setnames(dtTemp, param1, ".param1")
Expand Down
2 changes: 2 additions & 0 deletions R/generate_correlated_data.R
Expand Up @@ -97,6 +97,7 @@ genCorData <- function(n, mu, sigma, corMatrix = NULL, rho, corstr = "ind",
#' is not specified.
#' @return data.table with added column(s) of correlated data
#' @examples
#' \dontrun{
#' def <- defData(varname = "xNorm", formula = 0, variance = 4, dist = "normal")
#' def <- defData(def, varname = "xGamma1", formula = 15, variance = 2, dist = "gamma")
#' def <- defData(def, varname = "xBin", formula = 0.5, dist = "binary")
Expand All @@ -113,6 +114,7 @@ genCorData <- function(n, mu, sigma, corMatrix = NULL, rho, corstr = "ind",
#' cor(dt[, -"id"], method = "kendall")
#' var(dt[, -"id"])
#' apply(dt[, -"id"], 2, mean)
#' }
#' @export
#' @concept correlated
genCorFlex <- function(n, defs, rho = 0, tau = NULL, corstr = "cs", corMatrix = NULL) {
Expand Down
1 change: 1 addition & 0 deletions R/generate_dist.R
Expand Up @@ -2,6 +2,7 @@
#'
#' @useDynLib simstudy
#' @importFrom Rcpp sourceCpp
#' @importFrom fastglm fastglm
#'
#' @param args One row from data definitions data.table
#' @param n The number of observations required in the data set
Expand Down
10 changes: 4 additions & 6 deletions R/group_data.R
Expand Up @@ -362,7 +362,7 @@ trtAssign <- function(dtName, nTrt = 2, balanced = TRUE,
assertNotMissing(dtName = missing(dtName))
assertNotInDataTable(grpName, dtName)
if (!is.null(ratio)) {
assertLengthEqual(var1 = length(ratio), var2 = nTrt)
assertEqual(nTrt = nTrt, val = length(ratio))
}

dt <- copy(dtName)
Expand All @@ -387,16 +387,14 @@ trtAssign <- function(dtName, nTrt = 2, balanced = TRUE,
} else { # balanced is FALSE - strata are not relevant

if (is.null(ratio)) {
if (nTrt == 2) {
formula <- .5
} else {
formula <- rep(1 / nTrt, nTrt)
}
} else { # ratio not null
formula <- round(ratio / sum(ratio), 8)
}

dt <- trtObserve(dt, formulas = formula, logit.link = FALSE, grpName)
if (nTrt == 2) dt[, (grpName) := get(grpName) - 1]

}

return(dt[])
Expand Down Expand Up @@ -637,4 +635,4 @@ trtStepWedge <- function(dtName, clustID, nWaves, lenWaves,

if (lag == 0) dd[, `:=`(xr = NULL)]
return(dd[])
}
}

0 comments on commit 782acaf

Please sign in to comment.