edc_data_warn {EDCimport} | R Documentation |
Standardized warning system
Description
When checking your data, filter your dataset to get only problematic rows.
Then, use either:
-
edc_data_warn()
to generate a standardized warning that can be forwarded to the datamanager. -
edc_data_stop()
to abort the script if the problem is too serious.
Each time edc_data_warn is used, the warning is saved internally so that a summary of all your warnings can be retrieved using edc_data_warnings.
The result can be saved into an Excel file using save_edc_data_warnings()
.
Usage
edc_data_warn(
df,
message,
...,
issue_n = "xx",
max_subjid = 5,
csv_path = FALSE,
envir = parent.frame(),
col_subjid = get_subjid_cols()
)
edc_data_stop(df, message, ..., issue_n, max_subjid, csv_path, envir, col_subjid)
edc_data_warnings()
Arguments
df |
the filtered dataframe |
message |
the message. Can use cli formats. |
... |
unused |
issue_n |
identifying row number |
max_subjid |
max number of subject ID to show in the message |
csv_path |
a path to save |
envir |
the environment to evaluate |
col_subjid |
column name for subject ID. Set to |
Value
df
invisibly
Examples
library(dplyr)
db = edc_example()
load_database(db)
enrol %>%
filter(age>70) %>%
edc_data_warn("Age should not be >70", issue_n=1)
enrol %>%
filter(age<25) %>%
edc_data_warn("Age should not be <25", issue_n=2)
data1 %>%
filter(n()>1, .by=subjid) %>%
edc_data_warn("There are duplicated patients in `data1` ({nrow(.data)} rows)", issue_n=3)
enrol %>%
filter(age<25) %>%
edc_data_warn("Age should not be <25", issue_n=NULL)
edc_data_warnings()
## Not run:
enrol %>%
filter(age<25) %>%
edc_data_warn("Age should not be <25", csv_path="check/check_age_25.csv")
enrol %>%
filter(age<25) %>%
edc_data_stop("Age should *never* be <25")
## End(Not run)