Changelog
Source:NEWS.md
DTSg v2.0.0.9000
- The day saving time shift for the
ignoreDSTargument of theaggregate(),colapply()andsubset()methods is now attempted to be estimated and not invariably assumed to be one hour long. - More time zones are now considered UTC or equivalent (execute
grep("^(Etc/)?(UTC|UCT|Universal|Zulu)$|^(Etc/)?(GMT(\\+|-)?0?|Greenwich)$", OlsonNames(), ignore.case = TRUE, value = TRUE)for a full list). - Updated the package’s
pkgdownwebsite to Bootstrap 5. - Slightly improved the documentation.
- Minor internal code improvements, which require R ≥ 4.0.0.
DTSg v2.0.0
CRAN release: 2025-01-20
- Added
"timechange"funbyApproachutilisingtimechange::time_floor()as the main function for transforming timestamps. This new approach generally is way faster than the existing ones for both families of TALFs and all time zones, hence it is the new package’s default. - Sped up the
byY_____()andbyYm____()TALFs of the"base"funbyApproach. - The
print()method does not print the values’ key anymore, as it used to bedata.table’s default before v1.15.0. - Fixed a bug in the
aggregate()method, which could lead to incorrect results under the following conditions:- The time zone of the
DTSgobject is not UTC or equivalent. - The
ignoreDSTargument isTRUE. - A single column with missing values is aggregated.
- The time zone of the
- Related to the above fix are the following breaking changes when aggregating a single column with missing values:
- A possible
.ncolumn now contains0instead ofNAin case all values of a certain temporal aggregation level are missing. - The stripping of missing values within summary functions now depends on the value of a possible
na.rmargument.
- A possible
- Fixed the support for
data.table’s GForce optimisation when thefunargument of theaggregate()method is provided with a character vector specifying summary functions. Please note that the column order of the resultingDTSgobject is now different due to this fix. - Fixed that the
setCols()method and its R6 only aliasset()was too anxious about removing all value columns. - It is no longer possible to use the deprecated
byFasttime*()TALFs. Please use the"fasttime"or even better the new"timechange"funbyApproachfrom now on. - Removed
magrittrfrom the suggested packages list (vignettes now use R’s native pipe operator). - Slightly improved the documentation.
- Improved tests.
- Major internal code improvements.
DTSg v1.1.3
CRAN release: 2023-09-27
- Ceased the use of legacy time zone symlinks in tests.
- Bumped the minimum tested R version from 4.0.2 to 4.2.3 using the corresponding Posit public package manager snapshot.
- Slightly improved the documentation.
- Minor internal code improvements.
DTSg v1.1.1
CRAN release: 2022-06-08
- Column names can often now be additionally specified by a character string containing either comma separated column names, for example,
"x,y,z", or the start and end column separated by a colon, for example,"x:z". - Fixed a bug in the
interpolateLinear()function causing partial last observation carried forward behaviour when itsrollargument was specified smaller than the size of the gap to be interpolated. - Fixed a bug in the
interpolateLinear()function causing partial interpolation in certain cases when itsrollargument was specified smaller than the size of the gap to be interpolated. - Slightly improved the documentation.
DTSg v1.0.0
CRAN release: 2022-05-02
- Added
funbyApproachargument to thenew(),aggregate(),colapply()andsubset()methods: allows for specifying the flavour of the applied temporal aggregation level functions (either"base"utilisingas.POSIXct()or"fasttime"utilisingfasttime::fastPOSIXct()or"RcppCCTZ"utilisingRcppCCTZ::parseDatetime()as the main function for transforming timestamps). Custom approaches for user defined TALFs are also possible. Please note that thebyFasttime*versions of the TALFs are now deprecated. Use this argument from now on instead. - Added
funbyApproachalso to thelistof helper data (funbyHelpersargument) passed on to TALFs. - Added
funbyApproachfield reflecting the individualfunbyApproachof aDTSgobject (can also be actively set in order to change the utilised approach). - Added undocumented
names()method exclusively to the R6 interface acting as an alias for thecols()method. - Added
modeandtypeofarguments to thecols()method: allows for getting column names with a certainmode()and/ortypeof(). This can be especially handy when making use of theunitspackage. - Added
DTSgFast,DTSgFunbyApproachandDTSgNA.statusoptions providing default values for thefast,funbyApproachandna.statusarguments of thenew()method. - Added
DTSgDeprecatedWarningsoption: allows for disabling warnings from deprecated features. - Greatly sped up the
by______()andbyFasttime______()TALFs. - It is no longer possible to use the deprecated value
"all"with theclassargument of thecols()method in order to get all column names. Use the default valueNULLinstead for this."all"is treated as a filter for classes of typeallfrom now on. - Added an example to the
setCols()method showing how to set measurement units with the help of theunitspackage. - Added an example to the documentation of the
colapply()method showing how to calculate running correlations with the help of therunnerpackage. - Bumped the minimum tested R version from 3.5.2 to 4.0.2 using the corresponding MRAN repository snapshot.
- Slightly improved the documentation.
- Minor internal code improvements.
DTSg v0.8.1
CRAN release: 2021-10-27
- Added a “special class” called
".numerary"available to theclassargument of thecols()method: allows for querying the names ofintegerandnumericcolumns in one go. - Added undocumented
raggregate(),rbind(),set()andsetnames()methods exclusively to the R6 interface acting as aliases for therowaggregate(),rowbind(),setCols()andsetColNames()methods. - The
print()method now truncates the number of printed rows of the values more aggressively. - Created a
pkgdownwebsite. - Improved the vignettes and documentation.
DTSg v0.7.1
CRAN release: 2021-05-30
- Fixed error “Error in prettyNum(.Internal(format(x, trim, digits, nsmall, width, 3L, : invalid value 0 for ‘digits’ argument” related to tests in upcoming R 4.2.0.
- Slightly improved the documentation.
- Minor internal code improvements.
DTSg v0.7.0
CRAN release: 2020-09-05
- Added
rowaggregate()method: allows for applying summary functions row-wise to aDTSgobject. - Added
rowbind()method: allows for combining the rows of aDTSgobject. - Added
setColNames()method: allows for renaming columns of aDTSgobject. - Added
multiplierandfunbyHelpersarguments to theaggregate(),colapply()andsubset()methods: allows for adjusting the temporal aggregation level of TALFs and for passing on user defined helper data to TALFs. - Added
multiplieralso to thelistof helper data passed on to TALFs. - Added
helpersargument to thecolapply()androllapply()methods: controls if helper data is passed on to an applied function (makes occasionally needed anonymous function wrappers obsolete, e.g.x$colapply(fun = function(x, ...) {cumsum(x)}, funby = byYm____)can now be written asx$colapply(fun = cumsum, helpers = FALSE, funby = byYm____)). - TALFs based on the
fasttimepackage now also support time zones equivalent to UTC (executegrep("^(Etc/)?(UCT|UTC)$|^(Etc/)?GMT(\\+|-)?0?$", OlsonNames(), ignore.case = TRUE, value = TRUE)for a full list of supported time zones). - Fixed that a
DTSgobject with only one timestamp did not set the name of its .dateTime column as expected. - Improved the vignettes and documentation.
- Minor internal code improvements.
DTSg v0.6.0
CRAN release: 2020-07-12
- Added
subset()method: allows for filtering rows and/or selecting columns of aDTSgobject. - Added
setCols()method: allows for setting the values of columns of, adding columns to and/or removing columns from aDTSgobject. - Added
[extract operator: acts as a shortcut for thegetCol()method. - Added examples to the documentation of the
colapply()method showing how to calculate moving averages with the help of therunnerpackage instead of therollapply()method. - The
aggregate()method can benefit fromdata.table’s GForce optimisation now when itsfunargument is provided with a character vector specifying summary functions. - Greatly sped up the
nas()method. - Temporal aggregation level functions supplied to the
funbyargument of thecolapply()method are not forced to return aPOSIXcttimestamp any longer. They are, however, forced to return an atomic mode (the same goes for thesubset()method). - The
getCol()method now is capable of also querying the .dateTime column. - The
R6Methodargument of theS3WrapperGenerator()function now also takes a public method of anR6ClassGeneratoras a function and not only as an expression. - Fixed that not all missing values were made explicit after a call to the
merge()method despite an"explicit"na.statusin some cases. - Fixed that the
getCol()method tried to query all numeric columns instead of only the first one by default. - Improved the vignettes and documentation.
- Minor internal code improvements.
DTSg v0.5.0
CRAN release: 2020-06-09
- Added
getCol()method: allows for querying the values of a single column of aDTSgobject. - Added
funbyandignoreDSTarguments to thecolapply()method: allows for applying functions likecumsum()to a certain temporal level. - Added
na.statusargument to thenew()andalter()methods: allows for making missing values either"explicit"(default) or"implicit"or leaving them alone via"undecided". - Added
na.statusfield reflecting the status of missing values (can also be actively set). - Added
na.statusalso to thelistof helper data passed on to temporal aggregation level functions. - The
funbyargument of theaggregate()method now also accepts a namedlistof functions: allows for calculating several summary statistics at once. - The
periodicityfield can now be actively set in order to change the periodicity of the time series. - The
timezonefield can now be actively set in order to convert the time zone of the series. - Fixed that a
DTSgobject with only one timestamp accepted a missing value in its .dateTime column. - Improved the vignettes and documentation.
- Minor internal code improvements.
DTSg v0.4.1
CRAN release: 2020-05-08
- Fixed error “Error in as.POSIXct.numeric(e) : ‘origin’ must be supplied” related to the
rollback()function in upcoming R 4.1.0. - Slightly improved the vignettes.
- Minor internal code improvements.
DTSg v0.4.0
CRAN release: 2020-03-28
- Added
memoryOverCPUargument to therollapply()method: allows for preferring CPU over memory usage which makes the method more flexible in terms of resource consumption. - Settings of the option
DTSgClonein e.g. .RProfile are now respected and not overwritten byTRUEwhen the package is loaded. - Fixed useless coercion of
POSIXct.dateTime columns toPOSIXctupon object creation in case they contained at least one missing value. - Switched to the unit testing framework of the
tinytestinstead of thetestthatpackage. - Slightly improved the vignettes and documentation.
- Minor internal code improvements.
DTSg v0.3.0
CRAN release: 2020-01-08
- Added
resultColsandsuffixarguments to thecolapply()androllapply()methods: allows for adding return values of applied functions as new columns instead of replacing existing ones. -
classargument of thecols()method now accepts a character vector of class names. - Changed the default value of the
classargument of thecols()method from"all"toNULL, however, for backward compatibility"all"can still be used for the same result, but will eventually be treated as a filter for classes of typeall. - Added
patternand...arguments to thecols()method: allows for searching column names. - Switched to the argument check functions of the
checkmatepackage instead of theassertive.base,assertive.numbers,assertive.setsandassertive.typespackages. - Slightly improved the vignettes and documentation.
- Minor internal code improvements.
DTSg v0.2.1
CRAN release: 2019-10-20
- Fixed error “Unsupported type passed to argument ‘data’.” related to the
dygraphspackage in at least some releases of R ≤ 3.5.3.
DTSg v0.2.0
CRAN release: 2019-10-14
- Added
swallowargument to thenew()method: allows for a more resource efficient object creation. - Added
dropargument to thevalues()method: allows for a resource efficient destruction of aDTSgobject while preserving its values. - Added
classargument to thevalues()method: can be used to return the values of aDTSgobject as adata.frameinstead of adata.table. - The
alter()method and linked with it thenew()and other methods are now way more resource efficient in some cases. - Added
timestampsfield providing the total number of timestamps. - The
print()method now omits empty metadata fields. - Added means to measure code coverage with the help of the
covrpackage. - Removed
xtsfrom the suggested packages list (already comes along with thedygraphspackage). - Slightly improved the vignettes and documentation.
- Minor internal code improvements.