The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Clinical data scientists programming CDISC Analysis Data Model (ADaM) datasets need specifications that are both human-readable and machine-readable. These specifications typically live in Excel spreadsheets that are hard to version-control, difficult to validate, and cannot be consumed by automation tooling. mighty.metadata replaces that workflow with YAML files.
The package loads YAML specifications, validates them against a JSON
schema, and provides a pipe-friendly R interface for inspecting and
modifying column, parameter, and row definitions. It works at two
levels: a single ADaM domain (mighty_domain()) or an entire
study (mighty_study()).
mighty.metadata is part of the mighty framework for automated ADaM programming. It is built on S7 and S7schema for robust validation and modern OOP.
# Install from CRAN:
install.packages("mighty.metadata")
# Install the development version from GitHub:
pak::pak("NovoNordisk-OpenSource/mighty.metadata")mighty_domain() loads a YAML metadata file for a single
ADaM dataset and validates it against the schema on load.
library(mighty.metadata)
advs <- mighty_domain(
file = system.file("examples", "advs.yml", package = "mighty.metadata")
)
advs
#> <mighty.metadata::mighty_domain>
#> ADVS: Vital Signs Analysis Dataset
#> Class: BASIC DATA STRUCTURE
#> Keys: USUBJID, PARAMCD, and AVISITNUse list_columns(), list_parameters(), and
list_rows() to see what the specification contains.
list_columns(advs)
#> [1] "STUDYID" "USUBJID" "SAFFL" "TRTP" "VISITNUM" "AVISITN"
#> [7] "AVISIT" "PARAMCD" "PARAM" "AVAL" "AVALC"list_parameters(advs)
#> [1] "BMI" "BMIGRP"list_rows(advs)
#> [1] "BASELINE"Each dimension (columns, parameters, rows) has a consistent set of
verbs: list_*, add_*, remove_*,
update_*, select_*, and move_*.
These return a modified mighty_domain object and work
naturally with the pipe.
# Add a new column
advs |>
add_column(id = "TRTA", label = "Actual Treatment", .pos = 3) |>
list_columns()
#> [1] "STUDYID" "USUBJID" "TRTA" "SAFFL" "TRTP" "VISITNUM"
#> [7] "AVISITN" "AVISIT" "PARAMCD" "PARAM" "AVAL" "AVALC"# Remove columns
advs |>
remove_columns(c("VISITNUM", "AVALC")) |>
list_columns()
#> [1] "STUDYID" "USUBJID" "SAFFL" "TRTP" "AVISITN" "AVISIT" "PARAMCD"
#> [8] "PARAM" "AVAL"mighty_study() loads every YAML file from a directory.
Each file becomes a named mighty_domain. The optional
_study.yml provides study-level properties and
_mighty.yml provides mighty framework configuration.
study <- mighty_study(
path = system.file("examples", package = "mighty.metadata")
)
study
#> <mighty.metadata::mighty_study/list/S7_object>
#> @ mighty: `external_data`
#> @ study: `study_id`
#> $ ADAE: <mighty.metadata::mighty_domain>
#> $ ADSL: <mighty.metadata::mighty_domain>
#> $ ADVS: <mighty.metadata::mighty_domain>names(study)
#> [1] "ADAE" "ADSL" "ADVS"str(study@study)
#> List of 1
#> $ study_id: chr "example_study"
str(study@mighty)
#> List of 1
#> $ external_data:List of 3
#> ..$ :List of 2
#> .. ..$ id : chr "DM"
#> .. ..$ keys: chr [1:2] "STUDYID" "USUBJID"
#> ..$ :List of 2
#> .. ..$ id : chr "VS"
#> .. ..$ keys: chr [1:2] "STUDYID" "USUBJID"
#> ..$ :List of 2
#> .. ..$ id : chr "AE"
#> .. ..$ keys: chr [1:2] "STUDYID" "USUBJID"vignette("mighty-metadata") – Getting started
guidevignette("adam-schema") – Domain YAML schema
referencevignette("study-schema") – Study YAML schema
referencevignette("mighty-schema") – Mighty YAML schema
referenceThese binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.