This tries to find a column name in a data set based on information from the antibiotics data set. Also supports WHONET abbreviations.
Arguments
- x
- search_string
a text to search
x
for, will be checked withas.ab()
if this value is not a column inx
- verbose
a logical to indicate whether additional info should be printed
- only_rsi_columns
a logical to indicate whether only antibiotic columns must be detected that were transformed to class
<rsi>
(seeas.rsi()
) on beforehand (defaults toFALSE
)
Details
You can look for an antibiotic (trade) name or abbreviation and it will search x
and the antibiotics data set for any column containing a name or code of that antibiotic. Longer columns names take precedence over shorter column names.
Examples
df <- data.frame(amox = "S",
tetr = "R")
guess_ab_col(df, "amoxicillin")
#> [1] "amox"
# [1] "amox"
guess_ab_col(df, "J01AA07") # ATC code of tetracycline
#> [1] "tetr"
# [1] "tetr"
guess_ab_col(df, "J01AA07", verbose = TRUE)
#> Auto-guessing columns suitable for analysis
#> ...
#> OK.
#> ℹ Using column 'amox' as input for AMX (amoxicillin).
#> ℹ Using column 'tetr' as input for TCY (tetracycline).
#> ℹ Using column 'tetr' as input for J01AA07 (tetracycline).
#> [1] "tetr"
# NOTE: Using column 'tetr' as input for J01AA07 (tetracycline).
# [1] "tetr"
# WHONET codes
df <- data.frame(AMP_ND10 = "R",
AMC_ED20 = "S")
guess_ab_col(df, "ampicillin")
#> [1] "AMP_ND10"
# [1] "AMP_ND10"
guess_ab_col(df, "J01CR02")
#> [1] "AMC_ED20"
# [1] "AMC_ED20"
guess_ab_col(df, as.ab("augmentin"))
#> [1] "AMC_ED20"
# [1] "AMC_ED20"
# Longer names take precendence:
df <- data.frame(AMP_ED2 = "S",
AMP_ED20 = "S")
guess_ab_col(df, "ampicillin")
#> [1] "AMP_ED2"
# [1] "AMP_ED20"