NEWS.md
ys_flags() to extract a named list of flag datays_flags_chr() to extract a character vector of flagged data namesys_select_fl() to select from a yspec object based on flagged data namesys_factors_fl() to create factors in a data frame based on flagged data namesys_add_labels() gains a strict argument, allowing the user to label any data frame if there is at least one name in common between the spec and the data frame (#167).Links in “regulatory” define pdf file generated by ys_document() now appear in default color (black) rather than previous magenta (#164).
Updates for compatibility with glue 1.8.0 (#162).
nm_input() was significantly refactored to produce output more typically seen in practice as well as adding some convenience features (#150).
<new name> = <old name> syntax, passed under ...
<character> are dropped by defaultcat argument was renamed .cat
.drop argument was added to indicate a group of data items to drop from the problem.long = TRUE
.decodes argument was added to control appearance of categorical data decode information in the long outputall_of() when tidy selecting; this will suppress warnings in ys_extend() and ys_add_factors() (#145).ys_factors() to replace data set columns with their factor version, optionally retaining the original values in new columns (#141).Fix bug where character type was inferred whenever values were character, overriding what the user specified; now, only infer when user doesn’t specify type (#129).
Add ys_col_note() to generate a string of column names and definitions based on short or label; use this when column names appear in a table and require explanation in a a footnote (#119, #120).
Put stories in yaml format; add script to build validation docs from the yaml file (#123, #124).
Adds ys_extend() to extend a spec object with additional columns with any external yaml file; adds extend_file field in SETUP__: to identify a single file which can be automatically called upon for extension #112, #113.
ys_add_factors() refactored to only add factors for available columns #88, #91.
ys_add_factors() restores tidyselect semantics when specifying a subset of columns for adding factors #109, #110.
Add ys_table() to render the spec in TeX table code to be included in a report appendix #98, #104.
ys_select() returns an empty spec object when nothing is selected #100, #101.
Add ys_prune() to select any data columns that appear in the spec as well as other optional columns #87, #97. #99.
Add ys_recode() to convert a vector of data set column names to short version, optionally adding unit #86, #114.
ys_load() will now detect if values / decode are mis-coded as a list of lists; all items in values and decode must be atomic #106, #108.
ys_load() will issue more informative error message when short contains too many characters #102, 105.
ys_document() now accepts sponsor and projectnumber arguments which get passed through to the rendered define document #90, #92.
Fix bug where dots in lookup file were not properly inherited by spec columns that didn’t already have a dots list (#69)
Fix bug in namespace creation when multiple fields include namespace info (#81)
Fix bug where specification document didn’t properly render when using R 4.1 (#73)
ys_add_factors() now substitutes missing values (NA) with a character string supplied by the user prior to making the factor; the decode list is also updated so that the “missing” data is the last level; the string is supplied by the new argument .missing argument (#79)
ys_select() will now rename columns if new names are provided (#62)ys_filter() will subset a yspec object based on logical criteria (#65)ys_rename() will rename columns in a yspec object (#63)ys_join() will combine two or more yspec objects together (#64)SETUP__ field called flags that can be used to flag sets of columns (#62)ys_fill_dots() will supplement the dots list with default values (#62)ys_select() to select a subset of columns from a yspec object #24axis_col_labs to add vars argument; if missing, all col / labs will be created; otherwise, the user can select a subset to be createdmrgtemplate(); added definetemplate() that is used as default for a more styled define document #37ys_check where the return value was not correct when error_on_fail was set to FALSE #31nm_input function to print nonmem input data text to the console #8data_stem, name, spec_file) was not updated when importing from another spec #5ys_get_short_unit was not returning a list #2axis_col_labs doesn’t do title case or short max #26long argument to pander_table to create longer tablesdata_stem meta field was not getting propagated into data set name in the define document #35unit input was not properly validated #45ys_check didn’t issue error when data set columns were not in the right order #54label; this will be used when labeling data sets for xpt export #60ys.require.label option #99ys_add_labels) to label data set columns #63update_short) to change the value in the short field #82import) to enable import of contents of another spec #84character_last) to push all character columns to the back of the spec object #86comment_col) to identify the column that is for comments; character comment columns will not be pushed to back #86ys_check so that an error is not generated when checking the data, but rather FALSE is returned #88yspec_add_factors #91make_factor that will tell yspec_add_factors to make that column into a factor #91source, comment, long #93ys_add_factors to yspec_add_factors #97yspec and ycol #100as_proj_spec function that allows creation of a project spec file from individual data set spec objectsys_load preferred alias for load_spec
ys_load_file preferred alias for load_spec_file
ys_project preferred alias for as_proj_spec
ys_document is a wrapper around both render_define and render_fda_define. Use the type argument to request a “working” document or a “regulatory” documentysdb_internal.yml)lookup attribute will be added and yspec will attempt to look up the column in formation in one of the lookup tablesys_get_lookup will recreate the lookup list for a yspec objectys_lookup_source will report on the source of each column in an yspec objectys_project with a vector of files or yspec objects insteadfda_content_table) now links to the corresponding .xpt file; to facilitate testing, arguments loc and ext have been added so that the linking can be better tested (e.g. create a document that links to a .csv file, which should be easier to open on computers that don’t have SAS installed). #20data_path and data_stem have been added to ys_load
!look has been added to indicate that column data should be searched for in the lookup resources!value:decode has been added so that maps can be created with the values on the left hand side (- 0 : male)!decode:value has been added that recreates the default map handling, but also allows several values to be mapped to the same decodeys.col.len option to control the max allowable characters.verbose argument to print information to the console while processing a yaml fileys_help object that includes example / demo materials, including a function that will export a folder of assets that will work out of the box?yspec help topic to outline the suggested workflow and point to other locations for helpys_sanitize that can be changed through the ys.sanitize optionglue field for SETUP__, where a yaml map can be used to connect value with a name; when the name is inserted in to yaml code as <<name>>, the value will be substituted in with glue; this is the proper way to evade the sanitizer when including TeX code in the documenttype field; and error is generated if anything else appears therec method to combine two yspec objects togetherrender_define changed to generic function, with methods for yproj and `characterprojectnumber and sponsor arguments to render_define; that information will be pulled from the SETUP__ block as in render_fda_define
x_table were made smaller so that they fit on our standard page (8.5 x 11 with 7 cm margins on the left and the right)