yspec 0.8.0
ys_document()no longer printsunitin define.pdf when it is set to an empty string (#173).ys_add_factors()andys_factors()now retain attributes on data columns that are converted to factors (#177).ys_extend()andys_join()now properly copy namespace information from the extension spec to the parent, so namespaces defined only in an extension spec are recognized without error (#179).Added
ys_document_namespaceas aSETUP__meta field to control which namespaces are invoked when rendering define.pdf; falls back to thetexnamespace by default (#180).Fixed a bug in the regulatory define.pdf where the file extension was incorrect in section headers (#181).
yspec 0.7.0
- Added utilities to work with flags in the spec (#166), including
-
ys_flags()to extract a named list of flag data -
ys_flags_chr()to extract a character vector of flagged data names -
ys_select_fl()to select from ayspecobject based on flagged data names -
ys_factors_fl()to create factors in a data frame based on flagged data names
-
-
ys_add_labels()gains astrictargument, allowing the user to label any data frame if there is at least one name in common between thespecand the data frame (#167).
yspec 0.6.3
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).
yspec 0.6.2
Breaking changes
-
nm_input()was significantly refactored to produce output more typically seen in practice as well as adding some convenience features (#150).- the default output is now wide format
- data set labels can get renamed with
<new name> = <old name>syntax, passed under... - columns with type
<character>are dropped by default - the
catargument was renamed.cat - the
.dropargument was added to indicate a group of data items to drop from the problem - the previous long output can be recreated using
.long = TRUE - the
.decodesargument was added to control appearance of categorical data decode information in the long output
yspec 0.6.1
- Use
all_of()when tidy selecting; this will suppress warnings inys_extend()andys_add_factors()(#145).
yspec 0.6.0
- Adds
ys_factors()to replace data set columns with their factor version, optionally retaining the original values in new columns (#141).
yspec 0.5.3
Fix bug where character
typewas inferred whenevervalueswere character, overriding what the user specified; now, only infer when user doesn’t specifytype(#129).Add
ys_col_note()to generate a string of column names and definitions based onshortorlabel; 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).
yspec 0.5.2
Adds
ys_extend()to extend a spec object with additional columns with any external yaml file; addsextend_filefield inSETUP__: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 toshortversion, optionally addingunit#86, #114.ys_load()will now detect ifvalues/decodeare mis-coded as a list of lists; all items invaluesanddecodemust be atomic #106, #108.ys_load()will issue more informative error message whenshortcontains too many characters #102, 105.ys_document()now acceptssponsorandprojectnumberarguments which get passed through to the rendered define document #90, #92.
yspec 0.5.1
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; thedecodelist is also updated so that the “missing” data is the last level; the string is supplied by the new argument.missingargument (#79)
yspec 0.5.0
-
ys_select()will now rename columns if new names are provided (#62) -
ys_filter()will subset ayspecobject based on logical criteria (#65) -
ys_rename()will rename columns in ayspecobject (#63) -
ys_join()will combine two or moreyspecobjects together (#64) - New
SETUP__field calledflagsthat can be used to flag sets of columns (#62) -
ys_fill_dots()will supplement thedotslist with default values (#62) - Add vignettes back to the package
yspec 0.4.2
- Add
ys_select()to select a subset of columns from a yspec object #24 - Refactor
axis_col_labsto add vars argument; if missing, all col / labs will be created; otherwise, the user can select a subset to be created - Deprecate
mrgtemplate(); addeddefinetemplate()that is used as default for a more styled define document #37 - Add ability to include alternate representations of field information through namespacing #38
- Fix bug in
ys_checkwhere the return value was not correct whenerror_on_failwas set toFALSE#31 - Add
nm_inputfunction to print nonmem input data text to the console #8 - Fix bug where some meta data (
data_stem,name,spec_file) was not updated when importing from another spec #5 - Fix bug where
ys_get_short_unitwas not returning a list #2 - Fix bug where
axis_col_labsdoesn’t do title case or short max #26 - Better reporting of bad values in discrete data column #27
yspec 0.4.1
- Add minimum version numbers for dependency packages
- Add
longargument topander_tableto create longer tables - Fix bug where
data_stemmeta field was not getting propagated into data set name in the define document #35 - Add ability to update project number and sponsor information in a yspec object or a yproj object #36
- Fix bug where
unitinput was not properly validated #45 - Fix bug where
ys_checkdidn’t issue error when data set columns were not in the right order #54 - New field for data set columns:
label; this will be used when labeling data sets for xpt export #60 - The label field can be made optional with
ys.require.labeloption #99 - Add function (
ys_add_labels) to label data set columns #63 - Add function (
update_short) to change the value in theshortfield #82 - Add meta field (
import) to enable import of contents of another spec #84 - Add meta field option (
character_last) to push all character columns to the back of the spec object #86 - Add meta field option (
comment_col) to identify the column that is for comments; character comment columns will not be pushed to back #86 - Add argument to
ys_checkso that an error is not generated when checking the data, but ratherFALSEis returned #88 - Add functionality to add all possible factors to data set with
yspec_add_factors#91 - Add new data column field
make_factorthat will tellyspec_add_factorsto make that column into a factor #91 - The following fields will be collapsed into a single value when they are entered as array:
source,comment,long#93 - Add alias
ys_add_factorstoyspec_add_factors#97 - Add functions to form label, unit, and short; methods for
yspecandycol#100
yspec 0.2.0.9000
- Fixed bug where column check error were assigned to the wrong column name #7
- Added
as_proj_specfunction that allows creation of a project spec file from individual data set spec objects - Added more flexibility for specifying project and data set spec files in different locations #5
- Function
ys_loadpreferred alias forload_spec - Function
ys_load_filepreferred alias forload_spec_file - Function
ys_projectpreferred alias foras_proj_spec - Function
ys_documentis a wrapper around bothrender_defineandrender_fda_define. Use thetypeargument to request a “working” document or a “regulatory” document - Added internal lookup source (
ysdb_internal.yml) - It is no longer an error to put no data in a column specification; the
lookupattribute will be added and yspec will attempt to look up the column in formation in one of the lookup tables -
ys_get_lookupwill recreate the lookup list for a yspec object -
ys_lookup_sourcewill report on the source of each column in an yspec object - In general, we no longer write out a project file; use
ys_projectwith a vector of files or yspec objects instead - The table of contents for the regulatory document (
fda_content_table) now links to the corresponding.xptfile; to facilitate testing, argumentslocandexthave been added so that the linking can be better tested (e.g. create a document that links to a.csvfile, which should be easier to open on computers that don’t have SAS installed). #20 - Arguments
data_pathanddata_stemhave been added toys_load - Handler
!lookhas been added to indicate that column data should be searched for in the lookup resources - Handler
!value:decodehas been added so that maps can be created with the values on the left hand side (- 0 : male) - Handler
!decode:valuehas been added that recreates the default map handling, but also allows several values to be mapped to the same decode - An error is generated if the number of characters in a column name is greater than 8. Set the
ys.col.lenoption to control the max allowable characters. - Added
verboseargument to print information to the console while processing a yaml file - Added
ys_helpobject that includes example / demo materials, including a function that will export a folder of assets that will work out of the box - Revised package vignettes
- Expanded the
?yspechelp topic to outline the suggested workflow and point to other locations for help - Added custom sanitizer
ys_sanitizethat can be changed through theys.sanitizeoption - Added a
gluefield forSETUP__, 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 withglue; this is the proper way to evade the sanitizer when including TeX code in the document - Only “numeric” or “character” will be accepted in the
typefield; and error is generated if anything else appears there - Added
cmethod to combine two yspec objects together
yspec 0.1.0.9001
-
render_definechanged to generic function, with methods foryprojand `character - Removed
projectnumberandsponsorarguments torender_define; that information will be pulled from theSETUP__block as inrender_fda_define - The column widths for
x_tablewere made smaller so that they fit on our standard page (8.5 x 11 with 7 cm margins on the left and the right)
