Skip to contents

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.

library(EDCimport) 
library(dplyr) 
db = edc_example(N=200) %>%
  edc_unify_subjid() %>%
  edc_clean_names() 
db 
#> ── EDCimport database ──────────────────────────────────────────────────────────
load_database(db)

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 of session_info() to a file.

  • edc_warn_extraction_date() triggers a warning if the extraction date of your edc_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.