(Acest articol a fost publicat pentru prima dată pe Blog farmaceutși a contribuit cu drag la R-Bloggers). (Puteți raporta problema despre conținutul de pe această pagină aici)
Doriți să vă împărtășiți conținutul pe R-Bloggers? Faceți clic aici dacă aveți un blog sau aici dacă nu.
Ce este nou în Metacore?
Scopul versiunii 0.2.0 a fost să clarifice distincția dintre un specificație Metacore importat, care conține informații despre mai multe seturi de date și un specificație subsetată care conține informații despre un singur set de date (așa cum este obținut prin intermediul
Acum, un obiect Metacore care are mai multe seturi de date sau unul cu un singur set de date a fost reproiectat pentru a fi distinct programatic, cu un singur set de date implementat ca subclasa Metacore numită „DataSetmeta”.
Declarațiile de tipărire ale obiectelor metacore combinate și subsetate au fost rafinate pentru a ilustra mai bine diferențele dintre acestea și pentru a oferi informații mai utile utilizatorului.
library(dplyr)
Attaching package: 'dplyr'
The following objects are masked from 'package:stats':
filter, lag
The following objects are masked from 'package:base':
intersect, setdiff, setequal, union
library(metacore)
library(metatools)
library(tibble)
library(haven)
load(metacore_example("pilot_ADaM.rda"))
metacore
── Metacore object contains metadata for 5 datasets ────────────────────────────
→ ADSL (Subject-Level Analysis Dataset)
→ ADADAS (ADAS-Cog Analysis)
→ ADLBC (Analysis Dataset Lab Blood Chemistry)
→ ADTTE (AE Time To 1st Derm. Event Analysis)
→ ADAE (Adverse Events Analysis Dataset)
ℹ To use the Metacore object with metatools package, first subset a dataset using `metacore::select_dataset()`
adsl_spec <- select_dataset(metacore, "ADSL", quiet = TRUE)
✔ ADSL dataset successfully selected
ℹ Dataset metadata specification subsetted with suppressed warnings
Tipărirea obiectului subsetat oferă acum informații mai detaliate:
adsl_spec
── Dataset specification object for ADSL (Subject-Level Analysis Dataset) ──────
The dataset contains 51 variables
The structure of the specification object is:
→ codelist: character (16 x 4) code_id, name, type, codes
→ derivations: character (50 x 2) derivation_id derivation
→ ds_spec: character (1 x 3) dataset, structure, label
→ ds_vars: character (51 x 7) dataset, variable, key_seq, order, keep, core, supp_flag
→ supp: character (0 x 4) dataset, variable, idvar, qeval
→ value_spec: character (51 x 8) dataset, variable, code_id, derivation_id, type, origin, where, sig_dig
→ var_spec: character (51 x 6) variable, type, length, label, format, common
To inspect the specification object use `View()` in the console.
Funcțiile care iau un obiect Metacore ca intrare vor emite un mesaj util dacă un obiect subsetat nu este furnizat.
ds_list <- list(DM = read_xpt(metatools_example("dm.xpt")))
create_var_from_codelist(data.frame(), metacore)
Error in `verify_DatasetMeta()`: ! The object supplied to the argument `metacore` is not a subsetted Metacore object. Use `metacore::select_dataset()` to subset metadata for the required dataset.
create_var_from_codelist()
PARAM din PARAMCD Dar codeList -ul pentru out_var (PARAM) nu conține valorile PARAMCD.
| Param | 1 | Alanină aminotransferază | Alanină aminotransferază |
| Param | 2 | Bilirubină | Bilirubină |
| Param | 3 | Creatină | Creatină |
Exemplu de utilizare implicită care nu oferă rezultatul corect:
adlbc_spec <- suppressMessages(select_dataset(metacore, "ADLBC", quiet = TRUE))
data <- tibble(PARAMCD = c("ALB", "ALP", "ALT"))
create_var_from_codelist(data, adlbc_spec, input_var = PARAMCD, out_var = PARAM, strict = FALSE)
# A tibble: 3 × 2 PARAMCD PARAM1 ALB 2 ALP 3 ALT
În mod implicit, out_var ca intrare. Utilizatorul poate suprascrie acum această implicită cu un specific codeList (în acest caz PARAMCD mai jos) pentru a obține rezultatul dorit.
| Paramcd | 1 | Alt | Alanină aminotransferază |
| Paramcd | 2 | Bili | Bilirubină |
| Paramcd | 3 | Creat | Creatină |
create_var_from_codelist(data, adlbc_spec, input_var = PARAMCD, out_var = PARAM, codelist = get_control_term(adlbc_spec, PARAMCD), decode_to_code = FALSE)
# A tibble: 3 × 2 PARAMCD PARAM1 ALB Albumin (g/L) 2 ALP Alkaline Phosphatase (U/L) 3 ALT Alanine Aminotransferase (U/L)
Această funcție oferă și o nouă opțiune strictcare atunci când este setat pe TRUE (implicit) va emite un avertisment care indică orice valori din coloana dvs. de intrare care nu apar în codeList.
data <- tibble(PARAMCD = c("ALB", "ALP", "ALT", "DUMMY1", "DUMMY2"))
x <- create_var_from_codelist(data, adlbc_spec, input_var = PARAMCD, out_var = PARAM, codelist = get_control_term(adlbc_spec, PARAMCD), decode_to_code = FALSE, strict = TRUE)
Warning: In `create_var_from_codelist()`: The following values present in the input dataset are not present in the codelist: DUMMY1 and DUMMY2
create_cat_var ()
code sau decode Coloana terminologiei controlate. Anterior, o configurare codedelistă ca cea de mai jos ar fi evaluată de la code Numai coloana, lăsând textul „ani” din noua variabilă.
| Agegr2 | Grupa de vârstă combinată 2 | text | 1 | <35 | <35 de ani |
| Agegr2 | Grupa de vârstă combinată 2 | text | 2 | 35-49 | 35-49 ani |
| Agegr2 | Grupa de vârstă combinată 2 | text | 3 | > = 50 | > = 50 de ani |
Acum, specificând opțiunea create_from_decode = TRUE Vă va permite să creați variabila pe baza textului din decode coloană. Dacă utilizați această opțiune pentru a crea și o variabilă codificată numerică (în acest caz AGEGR2N), asigurați -vă că CT -ul dvs. este configurat astfel încât decode Coloanele se potrivesc.
dm <- read_xpt(metatools_example("dm.xpt"))
create_cat_var(dm, adsl_spec, AGE, AGEGR2, AGEGR2N, create_from_decode = TRUE) %>%
select(USUBJID, AGE, AGEGR2, AGEGR2N) %>%
head(5)
# A tibble: 5 × 4 USUBJID AGE AGEGR2 AGEGR2N1 01-701-1015 63 18-64 years 1 2 01-701-1023 64 18-64 years 1 3 01-701-1028 71 65-80 years 2 4 01-701-1033 74 65-80 years 2 5 01-701-1034 77 65-80 years 2
Această funcție oferă acum și un implicit strict = TRUE Opțiune, care emite un mesaj de avertizare dacă există valori în coloana de referință care nu se încadrează în categoriile din terminologia controlată. Acest lucru poate fi dezactivat cu strict = FALSE.
dm2 <- dm |> tibble::add_row(AGE = 15) |> tibble::add_row(AGE = 16) x <- create_cat_var(dm2, adsl_spec, AGE, AGEGR2, create_from_decode = TRUE)
Warning: There are 2 observations in AGE that do not fit into the provided categories for AGEGR2. Please check your controlled terminology.
Rezumatul altor schimbări
-
S -a rezolvat o eroare în care prezența variabilelor cu VLM în
value_specTabelul ar preveni variabile cu același nume în seturi de date diferite populate învalue_specmasă. -
Construiți un set de date de la derivat – Build_from_derived • Metatools MetaTools :: Build_From_Derved () adaugă noi opțiuni pentrukeepparametrul care permit utilizatorilor să obținăallsau numaiprerequisiteColoane din seturi de date sursă. Mulțumesc lui Matt Bearham pentru acest amendament! -
Combinați domeniul și calificarea suplimentară – Combine_supp • Metatools MetaTools :: Combine_supp () acum adaugă eticheta găsită înQLABELlaQNAMColoane care sunt derivate din seturi de date suplimentare. Mulțumesc lui Bill Denney pentru acest amendament! -
Verificați numele variabilelor – Check_variables • Metatools Metatools :: Check_variables () Acum oferă unstrictopțiunea care va emite un avertisment mai degrabă decât să arunce o eroare cândstrict = FALSE. -
Ajutori pentru dezvoltarea interfețelor de linie de comandă • CLI {Cli} Ieșirea este acum utilizată atât în ambele pachete, cât și mesageria pentru diverse funcții a fost îmbunătățită.
Ce urmează?
Următorul pas pentru ambele pachete va fi să funcționeze și să închidă problemele din întârziere, actualizând exemplele și vinietele și îmbunătățind experiența utilizatorului prin mesagerie mai informativă.
Pentru
Mulțumesc pentru lectură!
Ultima actualizare
2025-08-07 01: 11: 34.287895
Detalii
Reutilizați
Citare
Citarea Bibtex:
@online{hobby2025,
author = {Hobby, Liam},
title = {Metacore and {Metatools} 0.2.0},
date = {2025-08-04},
url = {https://pharmaverse.github.io/blog/posts/2025-08-04_metacore_0.2.0/metacore_0.2.0.html},
langid = {en}
}
Pentru atribuire, vă rugăm să citați această lucrare ca:
Hobby, Liam. 2025. „Metacore și metatools 0.2.0.” 4 august 2025.
