DTSg v2.0.0
- 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 its 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.
 
- 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.
 
- 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 set()method 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"funbyApproach` from 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
- 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
- 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
- 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 exclusive only 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
- 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 exclusive only 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
- 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
- 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
- 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
- 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
- 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
- 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
- Added resultColsandsuffixarguments to
thecolapply()androllapply()methods: allows
for adding return values of applied functions as new columns instead of
replacing existing ones.
- classargument of the- cols()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
- 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
- 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.
DTSg v0.1.3
- Slightly improved the vignettes and documentation.
DTSg v0.1.2