Version 5.1.0
Version 5.1.0 is a minor update to v5.0.0 with minor new functionality added and some refactoring of existing code to make it more consistent.
Changes from version 5.0.0 to version 5.1.0:
We have modified the ds.asNumeric and the ds.asInteger functions, to first convert an input object to a character and then to a numeric or integer. We found that in native R the function “as.numeric” (and similarly the function “as integer”) when is used to convert a variable of class factor to a variable of class numeric (or integer), it returns the underlying level codes of the factor instead of converting the actual values to numbers. For example it converts the factor vector (0 1 1 2 1 0 1 0 2 2 2 1) with Levels: 0 1 2, to the numeric vector (1 2 2 3 2 1 2 1 3 3 3 2). This behaviour occurs also in DataSHIELD, version <=5.0.0, through the ds.asNumeric or the ds.asInteger functions. The updated versions of ds.asNumeric and ds.asInteger functions in version 5.1.0, first convert an input object to a character and then to a numeric or integer.
Updated versions of the ds.glm and ds.glmSLMA functions to allow the non-intercept indicator “0” to be part of the formula argument.
ds.message: The implementation of the messageDS has been modified to ensure that it isn’t possible to unintentionally disclose information.
Extended tests coverage: additional tests have been implemented to increase the test coverage.
Added function ds.dataFrameFill. The purpose of ds.dataFrameFill is to add extra columns with missing values in a dataframe one for each variable is not included in the dataframe but is included in the relevant dataframe of another datasource.
Updated version of seq and unList support. The implementations of, at client-side, ds.seq and ds.unList, and at the server-side seqDS and unListDS have been reworked.
The use of the disclosure control parameter datashield.privacyLevel is being phased out. Use of datashield.privacyLevel has been replaced by use of default.nfilter.subset and default.nfilter.tab.
The default value of the ‘newobj’ argument, if unspecified, has been changed for the following functions:
ds.Boole
ds.asCharacter
ds.asDataMatrix
ds.asFactor
ds.asInteger
ds.asList
ds.asLogical
ds.asMatrix
ds.asNumeric
ds.assign
ds.c
ds.cbind
ds.changeRefGroup
ds.dataFrame
ds.dataFrameFill
ds.dataFrameSort
ds.dataFrameSubset
ds.exp
ds.lexis
ds.list
ds.log
ds.make
ds.matrix
ds.matrixDet
ds.matrixDiag
ds.matrixDimnames
ds.matrixInvert
ds.matrixMult
ds.matrixTranspose
ds.merge
ds.rNorm
ds.rPois
ds.rUnif
ds.rbind
ds.reShape
ds.recodeLevels
ds.recodeValues
ds.replaceNA
ds.rowColCalc
ds.seq
ds.tapply.assign
ds.unList
ds.vectorCalc
For the above functions the new default for ‘newobj’ is now the function’s base name, all lower case, followed by ‘_newobj’. For example the function ‘ds.dataFrameSubset' the value will be 'dataframesubset_newobj’.
9. We removed ds.gee in v5.1.0.
DataSHIELD Wiki by DataSHIELD is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Based on a work at http://www.datashield.ac.uk/wiki