Skip to content

Commit

Permalink
[skip vbump] update description and news, preping for cran submission (
Browse files Browse the repository at this point in the history
…#301)

# Pull Request

<!--- Replace `#nnn` with your issue link for reference. -->

Fixes #nnn

---------

Co-authored-by: Emily de la Rua <emily.de_la_rua@contractors.roche.com>
  • Loading branch information
shajoezhu and edelarua authored Mar 28, 2024
1 parent 0153594 commit 264e9d8
Show file tree
Hide file tree
Showing 19 changed files with 75 additions and 164 deletions.
1 change: 1 addition & 0 deletions .Rbuildignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
^staged_dependencies\.yaml$
^\.gitlab-ci\.yml$
^LICENSE\.md$
LICENSE
coverage.*
^\.markdownlint\.json$
.pre-commit-config.yaml
Expand Down
18 changes: 11 additions & 7 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
Type: Package
Package: random.cdisc.data
Title: Create Random SDTM and ADAM Datasets
Version: 0.3.14.9009
Date: 2024-03-04
Title: Create Random ADaM Datasets
Version: 0.3.15
Date: 2024-03-26
Authors@R: c(
person("Pawel", "Rucki", , "pawel.rucki@roche.com", role = c("aut", "cre")),
person("Pawel", "Rucki", , "pawel.rucki@roche.com", role = "aut"),
person("Nick", "Paszty", , "npaszty@gene.com", role = "aut"),
person("Jana", "Stoilova", , "jana.stoilova@roche.com", role = "aut"),
person("Joe", "Zhu", , "joe.zhu@roche.com", role = "aut"),
person("Joe", "Zhu", , "joe.zhu@roche.com", role = c("aut", "cre")),
person("Davide", "Garolini", , "davide.garolini@roche.com", role = "aut"),
person("Emily", "de la Rua", , "emily.de_la_rua@contractors.roche.com", role = "aut"),
person("Christopher", "DiPietrantonio", role = "aut"),
person("Adrian", "Waddell", , "adrian.waddell@gene.com", role = "aut"),
person("F. Hoffmann-La Roche AG", role = c("cph", "fnd"))
)
Description: Create random CDISC data.
License: Apache License 2.0 | file LICENSE
Description: A set of functions to create random Analysis Data Model (ADaM) datasets and cached dataset.
ADaM dataset specifications are described by the Clinical Data Interchange Standards Consortium (CDISC)
Analysis Data Model Team.
License: Apache License 2.0
Depends:
R (>= 3.6)
Imports:
Expand Down
5 changes: 5 additions & 0 deletions NAMESPACE
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Generated by roxygen2: do not edit by hand

export(apply_metadata)
export(mutate_na)
export(radab)
export(radae)
Expand All @@ -22,9 +23,13 @@ export(radsub)
export(radtr)
export(radtte)
export(radvs)
export(rel_var)
export(replace_na)
export(rtexp)
export(rtpois)
export(sample_fct)
export(var_relabel)
export(visit_schedule)
import(dplyr)
importFrom(lifecycle,badge)
importFrom(magrittr,"%>%")
Expand Down
2 changes: 1 addition & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# random.cdisc.data 0.3.14.9009
# random.cdisc.data 0.3.15

### New features
* Asynchronous cached data updates in `rebuild_cached_data` vignette - data is only updated if its (or its dependency's) source file has been updated.
Expand Down
47 changes: 0 additions & 47 deletions R/radqlqc.R
Original file line number Diff line number Diff line change
Expand Up @@ -274,12 +274,6 @@ NULL
#'
#' @return a dataframe with SDTM questionnaire data
#' @keywords internal
#'
#' @examples
#' \dontrun{
#' qs <- random.cdisc.data:::get_qs_data(adsl, n_assessments = 5L, seed = 1, na_percentage = 0.1)
#' qs
#' }
get_qs_data <- function(adsl,
visit_format = "CYCLE",
n_assessments = 5L,
Expand Down Expand Up @@ -572,23 +566,6 @@ get_qs_data <- function(adsl,
#'
#' @return Data frame with new randomly generated dates variable.
#' @keywords internal
#'
#' @examples
#' \dontrun{
#' df <- dplyr::left_join(
#' adsl,
#' qs,
#' by = c("STUDYID", "USUBJID"),
#' multiple = "all"
#' ) |>
#' dplyr::mutate(
#' AVISIT = VISIT,
#' PARAMCD = QSTESTCD,
#' AVISITN = VISITNUM
#' ) |>
#' dplyr::mutate(ADTM = random.cdisc.data:::get_random_dates_between(TRTSDTM, TRTEDTM, AVISITN))
#' df
#' }
get_random_dates_between <- function(from, to, visit_id) {
min_date <- min(lubridate::as_datetime(from), na.rm = TRUE)
max_date <- max(lubridate::as_datetime(to), na.rm = TRUE)
Expand Down Expand Up @@ -618,12 +595,6 @@ get_random_dates_between <- function(from, to, visit_id) {
#'
#' @return `data.frame`
#' @keywords internal
#'
#' @examples
#' \dontrun{
#' adqlqc1 <- random.cdisc.data:::prep_adqlqc(df = qs)
#' adqlqc1
#' }
prep_adqlqc <- function(df) {
# create PARAMCD from QSTESTCD
adqlqc <- dplyr::mutate(
Expand Down Expand Up @@ -677,12 +648,6 @@ prep_adqlqc <- function(df) {
#'
#' @return `data.frame`
#' @keywords internal
#'
#' @examples
#' \dontrun{
#' df_scales <- random.cdisc.data:::calc_scales(df)
#' df_scales
#' }
calc_scales <- function(adqlqc1) {
# Prep scale data ---------------------------------------------------------
# parcat2 = scales or global health status
Expand Down Expand Up @@ -958,12 +923,6 @@ calc_scales <- function(adqlqc1) {
#'
#' @return `data.frame`
#' @keywords internal
#'
#' @examples
#' \dontrun{
#' adqlqc <- random.cdisc.data:::derv_chgcat1(dataset = adqlqc |> dplyr::select(-CHGCAT1))
#' adqlqc
#' }
derv_chgcat1 <- function(dataset) {
# derivation of CHGCAT1
check_vars <- c("PARCAT2", "CHG")
Expand Down Expand Up @@ -1164,12 +1123,6 @@ derv_chgcat1 <- function(dataset) {
#'
#' @return `data.frame`
#' @keywords internal
#'
#' @examples
#' \dontrun{
#' compliance_data <- random.cdisc.data:::comp_derv(adqlqc, 80, 2)
#' compliance_data
#' }
comp_derv <- function(dataset, percent, number) {
# original items data
orig_data <- filter(
Expand Down
6 changes: 0 additions & 6 deletions R/radsub.R
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,6 @@
#'
#' @return a dataframe with anthropometric measurements for each subject in analysis dataset.
#' @keywords internal
#'
#' @examples
#' adsl <- radsl(N = 5, seed = 1)
#'
#' df_with_measurements <- random.cdisc.data:::h_anthropometrics_by_sex(df = adsl)
#' df_with_measurements
h_anthropometrics_by_sex <- function(df,
seed = 1,
id_var = "USUBJID",
Expand Down
64 changes: 29 additions & 35 deletions R/utils.R
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ get_cached_data <- function(dataname) {
#' @param ... Additional arguments to be passed to `sample`.
#'
#' @return A factor of length `N`.
#' @keywords internal
#' @export
#'
#' @examples
#' random.cdisc.data:::sample_fct(letters[1:3], 10)
#' random.cdisc.data:::sample_fct(iris$Species, 10)
#' sample_fct(letters[1:3], 10)
#' sample_fct(iris$Species, 10)
sample_fct <- function(x, N, ...) { # nolint
checkmate::assert_number(N)

Expand All @@ -40,17 +40,14 @@ sample_fct <- function(x, N, ...) { # nolint
#' Related Variables: Initialize
#'
#' Verify and initialize related variable values.
#' For example, `relvar_init("Alanine Aminotransferase Measurement", "ALT")`.
#'
#' @param relvar1 (`list` of `character`)\cr List of n elements.
#' @param relvar2 (`list` of `character`)\cr List of n elements.
#'
#' @return A vector of n elements.
#'
#' @keywords internal
#'
#' @examples
#' random.cdisc.data:::relvar_init("Alanine Aminotransferase Measurement", "ALT")
#' random.cdisc.data:::relvar_init("Alanine Aminotransferase Measurement", "U/L")
relvar_init <- function(relvar1, relvar2) {
checkmate::assert_character(relvar1, min.len = 1, any.missing = FALSE)
checkmate::assert_character(relvar2, min.len = 1, any.missing = FALSE)
Expand All @@ -75,7 +72,7 @@ relvar_init <- function(relvar1, relvar2) {
#' of `var_name` must relate.
#'
#' @return `df` with added factor variable `var_name` containing `var_values` corresponding to `related_var`.
#' @keywords internal
#' @export
#'
#' @examples
#' # Example with data.frame.
Expand All @@ -87,7 +84,7 @@ relvar_init <- function(relvar1, relvar2) {
#' levels = params
#' )
#' )
#' random.cdisc.data:::rel_var(
#' rel_var(
#' df = adlb_df,
#' var_name = "PARAMCD",
#' var_values = c("A", "B", "C"),
Expand All @@ -102,7 +99,7 @@ relvar_init <- function(relvar1, relvar2) {
#' levels = params
#' )
#' )
#' random.cdisc.data:::rel_var(
#' rel_var(
#' df = adlb_tbl,
#' var_name = "PARAMCD",
#' var_values = c("A", "B", "C"),
Expand Down Expand Up @@ -135,11 +132,11 @@ rel_var <- function(df, var_name, related_var, var_values = NULL) {
#' @inheritParams argument_convention
#'
#' @return A factor of length `n_assessments`.
#' @keywords internal
#' @export
#'
#' @examples
#' random.cdisc.data:::visit_schedule(visit_format = "WEeK", n_assessments = 10L)
#' random.cdisc.data:::visit_schedule(visit_format = "CyCLE", n_assessments = 5L, n_days = 2L)
#' visit_schedule(visit_format = "WEeK", n_assessments = 10L)
#' visit_schedule(visit_format = "CyCLE", n_assessments = 5L, n_days = 2L)
visit_schedule <- function(visit_format = "WEEK",
n_assessments = 10L,
n_days = 5L) {
Expand Down Expand Up @@ -173,15 +170,8 @@ visit_schedule <- function(visit_format = "WEEK",
#' @param value_var (`any`)\cr Variable in `df` containing the value to be retained.
#' @param event (`expression`)\cr Expression returning a logical value to trigger the retain.
#' @param outside (`any`)\cr Additional value to retain. Defaults to `NA`.
#'
#' @return A vector of values where expression is true.
#' @keywords internal
#'
#' @examples
#' adlb <- radlb(radsl(N = 10, na_percentage = 0), na_vars = list())
#' adlb$BASE2 <- random.cdisc.data:::retain(
#' df = adlb, value_var = adlb$AVAL,
#' event = adlb$ABLFL2 == "Y"
#' )
retain <- function(df, value_var, event, outside = NA) {
indices <- c(1, which(event == TRUE), nrow(df) + 1)
values <- c(outside, value_var[event == TRUE])
Expand All @@ -195,12 +185,13 @@ retain <- function(df, value_var, event, outside = NA) {
#' @param x (`data.frame`)\cr Data frame containing variables to which labels are applied.
#' @param ... (`named character`)\cr Name-Value pairs, where name corresponds to a variable
#' name in `x` and the value to the new variable label.
#' @return x (`data.frame`)\cr Data frame with labels applied.
#'
#' @keywords internal
#' @export
#'
#' @examples
#' adsl <- radsl()
#' random.cdisc.data:::var_relabel(adsl,
#' var_relabel(adsl,
#' STUDYID = "Study Identifier",
#' USUBJID = "Unique Subject Identifier"
#' )
Expand All @@ -225,16 +216,16 @@ var_relabel <- function(x, ...) {
#' @param filename (`yaml`)\cr File containing domain metadata.
#' @param add_adsl (`logical`)\cr Should ADSL data be merged to domain.
#' @param adsl_filename (`yaml`)\cr File containing ADSL metadata.
#' @return Data frame with metadata applied.
#'
#' @keywords internal
#'
#' @export
#' @examples
#' seed <- 1
#' adsl <- radsl(seed = seed)
#' adsub <- radsub(adsl, seed = seed)
#' yaml_path <- file.path(path.package("random.cdisc.data"), "inst", "metadata")
#' adsl <- random.cdisc.data:::apply_metadata(adsl, file.path(yaml_path, "ADSL.yml"), FALSE)
#' adsub <- random.cdisc.data:::apply_metadata(
#' adsl <- apply_metadata(adsl, file.path(yaml_path, "ADSL.yml"), FALSE)
#' adsub <- apply_metadata(
#' adsub, file.path(yaml_path, "ADSUB.yml"), TRUE,
#' file.path(yaml_path, "ADSL.yml")
#' )
Expand All @@ -250,20 +241,21 @@ apply_metadata <- function(df, filename, add_adsl = TRUE, adsl_filename = "metad
}

if (type == "character" && !is.character(df[[var]])) {
df[[var]] <<- as.character(df[[var]])
df[[var]] <- as.character(df[[var]])
} else if (type == "factor" && !is.factor(df[[var]])) {
df[[var]] <<- as.factor(df[[var]])
df[[var]] <- as.factor(df[[var]])
} else if (type == "integer" && !is.integer(df[[var]])) {
df[[var]] <<- as.integer(df[[var]])
df[[var]] <- as.integer(df[[var]])
} else if (type == "numeric" && !is.numeric(df[[var]])) {
df[[var]] <<- as.numeric(df[[var]])
df[[var]] <- as.numeric(df[[var]])
} else if (type == "logical" && !is.logical(df[[var]])) {
df[[var]] <<- as.logical(df[[var]])
df[[var]] <- as.logical(df[[var]])
} else if (type == "datetime" && !lubridate::is.POSIXct(df[[var]])) {
df[[var]] <<- as.POSIXct(df[[var]])
df[[var]] <- as.POSIXct(df[[var]])
} else if (type == "date" && !lubridate::is.Date(df[[var]])) {
df[[var]] <<- as.Date(df[[var]])
df[[var]] <- as.Date(df[[var]])
}
return(df)
}

# remove existing attributes
Expand Down Expand Up @@ -306,7 +298,7 @@ apply_metadata <- function(df, filename, add_adsl = TRUE, adsl_filename = "metad

# assign labels to variables
for (var in metadata_varnames) {
apply_type(df, var, metadata_variables[[var]]$type)
df <- apply_type(df, var, metadata_variables[[var]]$type)
attr(df[[var]], "label") <- metadata_variables[[var]]$label
}

Expand Down Expand Up @@ -362,6 +354,8 @@ replace_na <- function(v, percentage = 0.05, seed = NULL) {
#' @inheritParams argument_convention
#' @param ds (`data.frame`)\cr Any data set.
#'
#' @return dataframe without `NA` values.
#'
#' @export
mutate_na <- function(ds, na_vars = NULL, na_percentage = 0.05) {
if (!is.null(na_vars)) {
Expand Down
2 changes: 2 additions & 0 deletions inst/WORDLIST
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ Pharmacokinetics
QLQ
QS
Repo
Rua
SDTM
SDs
SMQ
Expand All @@ -65,6 +66,7 @@ Xuefeng
anthropometric
cdisc
datetime
de
dipietrc
funder
metres
Expand Down
8 changes: 5 additions & 3 deletions man/apply_metadata.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 264e9d8

Please # to comment.