library(EDCimport)
library(dplyr)
db = edc_example(N=200) %>%
edc_unify_subjid() %>%
edc_clean_names()
db
#> ── EDCimport database ──────────────────────────────────────────────────────────
load_database(db)
Introduction
You imported your database, but now you might want to visualize some part of it.
There are a lot of ways to do so, so EDCimport provides functions for a few concepts.
As in previous vignettes, we will be using edc_example()
, but in the real world you should use EDC reading functions. See vignette("reading")
to see how.
Joins
As the primary key is almost always SUBJID, {dplyr} joins can be simplified with default by
and suffix
arguments.
data_xx = enrol %>%
edc_left_join(data2) %>%
edc_right_join(data1) %>%
edc_full_join(ae)
dim(data_xx)
#> [1] 1240 20
names(data_xx) %>% stringr::str_subset("crfname") #suffixes are automated
#> [1] "crfname" "crfname_data2" "crfname_data1" "crfname_ae"
“Yes/No” harmonizer
Using fct_yesno()
, you can harmonize “Yes/No” values into a vector with the “Yes” level first:
set.seed(42)
x = tibble(a=c("Yes", "No"), b=c("Oui", "Non"), c=0:1, d=c(TRUE, FALSE))
x
#> # A tibble: 2 × 4
#> a b c d
#> <chr> <chr> <int> <lgl>
#> 1 Yes Oui 0 TRUE
#> 2 No Non 1 FALSE
x %>% dplyr::mutate_all(fct_yesno)
#> # A tibble: 2 × 4
#> a b c d
#> <fct> <fct> <fct> <fct>
#> 1 Yes Yes No Yes
#> 2 No No Yes No
Miscellaneous
These three helpers don’t quite fit anywhere else, but they still deserve their moment!
save_session_info()
saves the output ofsession_info()
to a file.edc_warn_extraction_date()
triggers a warning if the extraction date of youredc_database
is older than a specified threshold.edc_inform_code()
outputs a message indicating the amount of code written for this analysis, assuming you have one file sourcing others.