Changelog
Source:NEWS.md
xportr 0.4.1
New Feature
- New argument in
xportr_write()
allows users to specify the maximum file size (in GB) of their exported xpt files. (#268) -
xportr_split()
is deprecated with this new argument above now added toxportr_write()
xportr 0.4.0
CRAN release: 2024-03-28
New Features
- All core functions can be run together by using new function
xportr()
(#137) -
xportr_metadata()
can setverbose
for a whole pipeline, i.e. settingverbose
inxportr_metadata()
will populate to allxportr
functions. (#151) -
xportr_split()
is a new function that allows users to split a dataset into multiple output files based on a variable. (#183) -
xportr_write()
now acceptsmetadata
argument which can be used to set the dataset label to stay consistent with the otherxportr_*
functions. It is noteworthy that the dataset label set using thexportr_df_label()
function will be retained during thexportr_write()
. (#179) - Added a check for character variable lengths up to 200 bytes in
xpt_validate()
(#91, #189). - File name check is moved to strict_checks condition to allow underscores in the file name. Underscores are allowed in xpt but not per FDA requirements. (#126)
- It is now possible to get and set the xportr options using the helper function
xportr_options()
(#130) - Added
xportr.character_metadata_types
andxportr.numeric_metadata_types
to list the metadata types that are character or numeric. Updatedxportr.character_types
andxportr.numeric_types
to list only the R types that are character and the R types that are numeric. This ensures that all R types, including dates, are now managed by xportr_type. If the R type differs from the metadata type, the variable is coerced (#161). - New argument in
xportr_length()
allows selection between the length from metadata, as previously done, or from the calculated maximum length per variable whenlength_source
is set to “data” (#91) - Series of basic checks added to the
xportr_format()
function to ensure format lengths, prefixes are accurate for the variable type. Also to ensure that any numeric date/datetime/time variables have a format. (#164) -
xportr_length()
assigns the maximum length value instead of 200 for a character variable when the length is missing in the metadata (#207)
Bug Fixes
- Bug fix for domain filtering (#137)
- Make
xportr_type()
drop factor levels when coercing variables (#159)
Deprecation and Breaking Changes
- The
domain
argument for xportr functions will no longer be dynamically determined by the name of the data frame passed as the.df
argument. This was done to make the use of xportr functions more explicit. (#182) - The
metacore
argument, which was renamed tometadata
in the following six xportr functions: (xportr_df_label()
,xportr_format()
,xportr_label()
,xportr_length()
,xportr_order()
, andxportr_type()
) in version0.3.0
with a soft deprecation warning, has now been hard deprecated. Please update your code to use the newmetadata
argument in place ofmetacore
. (#203) -
SASlength
andSAStype
were removed since they did not have an impact onxpt_validate
or any other functions (#132) -
adsl
data object is now calledadsl_xportr
(#237)
Documentation
- Created development version of the website (#187)
- Additional guidance for options added in deep dive vignette (#81)
- Added a vignette about standards in different agencies (#206)
- Removed non-user facing function documentation (#192)
- Added more details about
xportr_length()
andxportr()
to deep dive vignette (#215, #222)
Miscellaneous
- Tests use withr to create temporary files that are automatically deleted (#219)
- Remove unused packages from Suggests (#221, #237)
- Exporting a new dataset
dataset_spec
that contains the Dataset Specification for ADSL. (#179) - Adds argument assertions to public functions using checkmate (#175)
- Data objects are no longer lazy loaded, which means that when needed the user must call
data("name_of_object")
first (#237)
xportr 0.3.0
CRAN release: 2023-06-21
New Features and Bug Fixes
- Fixed an issue where
xportr_type()
would overwrite column labels, widths, and “sas.formats” - Fixed messaging of
xportr_order()
to give better visibility of the number of variables being reordered. - Add new argument to
xportr_write()
to allow users to specify how xpt validation checks are handled. - Fixed bug where character_types were case sensitive. They are now case insensitive (#77).
- Updated
xportr_type()
to make type coercion more explicit. -
xpt_validate
updated to accept iso8601 date formats. (#76) - Added function
xportr_metadata()
to explicitly set metadata at the start of a pipeline (#44) - Metadata order columns are now coerced to numeric by default in
xportr_order()
to prevent character sorting (#149) - Message is shown on
xportr_*
functions when the metadata being used has multiple variables with the same name in the same domain (#128) - Fixed an issue with
xport_type()
whereDT
,DTM
variables with a format specified in the metadata (e.g.date9.
,datetime20.
) were being converted to numeric, which will cause a 10 year difference when reading it back byread_xpt()
. SAS’s uniform start date is 1960 whereas Linux’s uniform start date is 1970 (#142). - Fixed an issue with R’s pipe
|>
that was causing functions to abort (#97) - Removed
<
and>
as illegal characters in variable and dataset labels (#98)
Documentation
- Moved pkgdown site to bootswatch. Enabled search and linked slack icon (#122).
- Additional Deep Dive vignette showcasing functions and quality of life utilities for processing
xpts
created (#84) - Get Started vignette spruced up. Messages are now displayed and link to Deep Dive vignette (#150)
- Increase test coverage to 100% (#82)
Deprecation and Breaking Changes
- The
metacore
argument has been renamed tometadata
in the following six xportr functions:xportr_df_label()
,xportr_format()
,xportr_label()
,xportr_length()
,xportr_order()
, andxportr_type()
. Please update your code to use the newmetadata
argument in place ofmetacore
.