data <- readRDS(
system.file("extdata", "test_df.RDS", package = "cleanepi")
)
# detect the incorrect subject ids i.e. IDs that do not have any or both of
# the followings:
# - starts with 'PS',
# - ends with 'P2',
# - has a number within 1 and 100,
# - contains 7 characters.
dat <- check_subject_ids(
data = data,
target_columns = "study_id",
prefix = "PS",
suffix = "P2",
range = c(1, 100),
nchar = 7
)
# display rows with invalid subject ids
print_report(dat, "incorrect_subject_id")
# generate the correction table
correction_table <- data.frame(
from = c("P0005P2", "PB500P2", "PS004P2-1"),
to = c("PB005P2", "PB050P2", "PS004P2")
)
# perform the correction
dat <- correct_subject_ids(
data = dat,
target_columns = "study_id",
correction_table = correction_table
)
Run the code above in your browser using DataLab