Coerces yamlet 'guide' keys to something more explicit. The key 'guide' generally suggests a guide to interpretation of a data item, such as units, formats, codelists, and encodings. The idea here is to replace 'guide' with something explicit in case required downstream.
# S3 method for yamlet
explicit_guide(x, ..., default = "guide", data = NULL)
yamlet
passed to select
to limit scope
length-one character: the default key
optional data.frame for testing guides with length > 1
yamlet
The key 'guide' is replaced as follows for the first test that succeeds, or replaced with the default if none do.
* If the value of 'guide' is of length greater than
one (and data is not supplied), key becomes 'codelist'.
* If the value of 'guide' is_parseable
,
key becomes 'units'.
* If the value of 'guide' contains two or more percent signs,
key becomes 'format' (i.e. a 'format' string for a date or time class).
* If the value of 'guide' is (encoded
),
key becomes 'encoding'.
If data
is supplied, guides with length greater than one
are checked to see if they evaluate to conditions in data context
(see isConditional.list
).
If so, inferences are based on the first guide element rather
than the guide as a whole.
Other explicit_guide:
explicit_guide.data.frame()
,
explicit_guide()
,
implicit_guide.data.frame()
,
implicit_guide()
# NOT RUN {
library(magrittr)
'CONC: [ concentration, <U+00C2><U+00B5>g/mL ]' %>% as_yamlet %>% explicit_guide
'RACE: [ subject race, [ Caucasian: 0, Latin: 1, Black: 2 ]]' %>% as_yamlet %>% explicit_guide
'RACE: [ subject race, [ Caucasian, Latin, Black ]]' %>% as_yamlet %>% explicit_guide
'RACE: [ subject race, //0/Caucasian//1/Latin//2/Black// ]' %>% as_yamlet %>% explicit_guide
'DATE: [ date, "%Y-%m-%d" ]' %>% as_yamlet %>% explicit_guide
'PRSE: [ standard error, "%" ]' %>% as_yamlet %>% explicit_guide
# }
Run the code above in your browser using DataLab