Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
715c4f6
Merge pull request #416 from StuartWheater/v6.3.4-dev
StuartWheater Aug 14, 2025
1694677
Update version
StuartWheater Aug 18, 2025
2c209f0
Update docs
StuartWheater Aug 18, 2025
a238a20
Merge pull request #417 from StuartWheater/v6.3.4-dev
StuartWheater Aug 18, 2025
8b386dc
Fix typos
villegar Aug 20, 2025
16942f7
Correct citations
villegar Aug 20, 2025
675bc98
New build
villegar Aug 20, 2025
77da88a
Merge pull request #418 from villegar/v6.3.4-dev
StuartWheater Aug 20, 2025
e9357d4
Merge pull request #38 from datashield/v6.3.4-dev
StuartWheater Aug 20, 2025
03cb1c3
Update parts of docs
StuartWheater Aug 20, 2025
c3cff37
Merge pull request #419 from StuartWheater/v6.3.4-dev
villegar Aug 21, 2025
675dc5f
Set up language for the package (en-GB) and add list of word exceptions
villegar Aug 21, 2025
a198f9f
Add documentation for package, ?dsBase
villegar Aug 21, 2025
e3f0b13
Regenerate documentationa after setting up default language, en-GB
villegar Aug 21, 2025
a9f1ae2
Update version to match next release
villegar Aug 21, 2025
1260e0b
Update dsBase test suite workflow to be executed on pull_requests and…
villegar Aug 21, 2025
57905f3
Remove on pull_request as secrets.GH_TOKEN is not available in this c…
villegar Aug 21, 2025
f4e5182
Merge pull request #420 from villegar/v6.3.4-dev
StuartWheater Aug 21, 2025
2362021
Remove flag skip_on_os to skip these tests on Apple M1 architecture. …
villegar Aug 22, 2025
d3e78af
Remove invalid test for when the approximation of t-stat is Inf, resu…
villegar Aug 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions .github/workflows/dsBase_test_suite.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ name: dsBase tests' suite

on:
push:
branches: [master, v6.3.4-dev]
schedule:
- cron: '0 0 * * 0' # Weekly
- cron: '0 1 * * *' # Nightly
Expand Down Expand Up @@ -153,10 +152,9 @@ jobs:
working-directory: dsBase

- name: Commit results to testStatus
# if: github.repository == 'villegar/dsBase' && github.event_name != 'pull_request'
run: |
git config --global user.email "$GITHUB_ACTOR@users.noreply.github.com"
git config --global user.name "$GITHUB_ACTOR"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
cd testStatus
git checkout master
git pull
Expand Down
4 changes: 3 additions & 1 deletion DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Description: Base 'DataSHIELD' functions for the server side. 'DataSHIELD' is a
been designed to only share non disclosive summary statistics, with built in automated output
checking based on statistical disclosure control. With data sites setting the threshold values for
the automated output checks. For more details, see 'citation("dsBase")'.
Version: 6.3.4-9000
Version: 6.3.4
Authors@R: c(person(given = "Paul",
family = "Burton",
role = c("aut"),
Expand Down Expand Up @@ -73,6 +73,8 @@ Imports:
mice,
childsds
Suggests:
spelling,
testthat
RoxygenNote: 7.3.2
Encoding: UTF-8
Language: en-GB
2 changes: 1 addition & 1 deletion R/asDataMatrixDS.R
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#' class for all columns in data.frames.
#' @details This assign function is based on the native R function \code{data.matrix}
#' If applied to a data.frame, the native R function \code{as.matrix}
#' coverts all columns into character class. In contrast, if applied to
#' converts all columns into character class. In contrast, if applied to
#' a data.frame the native R function \code{data.matrix} converts
#' the data.frame to a matrix but maintains all data columns in their
#' original class
Expand Down
2 changes: 1 addition & 1 deletion R/checkNegValueDS.R
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#'
#' @title Checks if a numeric variable has negative values
#' @description this function is only called by the client function \code{ds.glm}.
#' @details if a user sets the parameter 'weights' on the client site function \code{ds.glm} this
#' @details if a user sets the parameter 'weights' on the client side function \code{ds.glm} this
#' server side function is called to verify that the 'weights' vector does not have negative values
#' because no negative are allowed in weights.
#' @param weights a numeric vector
Expand Down
2 changes: 1 addition & 1 deletion R/densityGridDS.R
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#'
#' @title Generates a density grid with or without a priori defined limits
#' @description Generates a density grid that can then be used for heatmap or countour plots.
#' @description Generates a density grid that can then be used for heatmap or contour plots.
#' @details Invalid cells (cells with count < to the set filter value for the minimum allowed
#' counts in table cells) are turn to 0.
#' @param xvect a numerical vector
Expand Down
4 changes: 2 additions & 2 deletions R/dmtC2SDS.R
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@
#' @param ncols.transmit specifies the number of columns in the matrix to be created.
#' Fixed by the clientside function as equal to the number of columns in
#' the clientside DMT to be transferred.
#' @param colnames.transmit a parser-transmissable vector specifying the name of each column
#' @param colnames.transmit a parser-transmissible vector specifying the name of each column
#' in the DMT being transferred from clientside to serverside.
#' Generated automatically by clientside function from colnames of clientside DMT.
#' @param colclass.transmit a parser-transmissable vector specifying the class of the
#' @param colclass.transmit a parser-transmissible vector specifying the class of the
#' vector representing each individual column in the DMT to be transferred.
#' Generated automatically by clientside function. This allows the transmission of DMTs
#' containing columns with different classes.If something is going to go wrong with
Expand Down
6 changes: 6 additions & 0 deletions R/dsBase-package.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#' @keywords internal
"_PACKAGE"

## usethis namespace: start
## usethis namespace: end
NULL
2 changes: 1 addition & 1 deletion R/gamlssDS.R
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#'
#' @title gamlssDS an aggregate function called by ds.galmss
#' @title gamlssDS an aggregate function called by ds.gamlss
#' @description This function calls the gamlssDS that is a wrapper function from
#' the gamlss R package. The function returns an object of class "gamlss", which
#' is a generalized additive model for location, scale and shape (GAMLSS). The
Expand Down
2 changes: 1 addition & 1 deletion R/glmerSLMADS.assign.R
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#' The analytic work engine is the glmer function in R which sits in the lme4 package.
#' glmerSLMADS.assign fits a generalized linear mixed effects model (glme) - e.g. a logistic or
#' Poisson regression model including both fixed and random effects - on data
#' from each single data source and saves the regression outcomes on the serveside.
#' from each single data source and saves the regression outcomes on the serverside.
#' @param formula see help for ds.glmerSLMA
#' @param offset see help for ds.glmerSLMA
#' @param weights see help for ds.glmerSLMA
Expand Down
2 changes: 1 addition & 1 deletion R/hetcorDS.R
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#'
#' @title Heterogeneous Correlation Matrix
#' @description This function is based on the hetcor function from the R package \code{polycor}.
#' @details Computes a heterogenous correlation matrix, consisting of Pearson product-moment
#' @details Computes a heterogeneous correlation matrix, consisting of Pearson product-moment
#' correlations between numeric variables, polyserial correlations between numeric and ordinal
#' variables, and polychoric correlations between ordinal variables.
#' @param data the name of a data frame consisting of factors, ordered factors, logical variables,
Expand Down
2 changes: 1 addition & 1 deletion R/lexisDS2.R
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#' @description The second serverside function called by ds.lexis.
#' @details This is the assign
#' function which actually creates
#' the expanded dataframe containing surival data for a piecewise exponential
#' the expanded dataframe containing survival data for a piecewise exponential
#' regression. lexisDS2 also
#' carries out a series of disclosure checks and if the arguments or data fail any of
#' those tests,
Expand Down
4 changes: 2 additions & 2 deletions R/lmerSLMADS.assign.R
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#' @title Fitting linear mixed effect models - serverside function
#' @description lmerSLMADS.assing is the same as lmerSLMADS2 which fits a linear
#' @description lmerSLMADS.assign is the same as lmerSLMADS2 which fits a linear
#' mixed effects model (lme) per study and saves the outcomes in each study
#' @details lmerSLMADS.assign is a serverside function called by ds.lmerSLMA on the clientside.
#' The analytic work engine is the lmer function in R which sits in the lme4 package.
#' lmerSLMADS.assign fits a linear mixed effects model (lme) including both fixed and random
#' effects - on data from each single data source and saves the regression outcomes on the serveside.
#' effects - on data from each single data source and saves the regression outcomes on the serverside.
#' @param formula see help for ds.lmerSLMA
#' @param offset see help for ds.lmerSLMA
#' @param weights see help for ds.lmerSLMA
Expand Down
2 changes: 1 addition & 1 deletion R/meanDS.R
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#'
#' @title Computes statistical mean of a vectores
#' @title Computes statistical mean of a vector
#' @description Calculates the mean value.
#' @details if the length of input vector is less than the set filter
#' a missing value is returned.
Expand Down
2 changes: 1 addition & 1 deletion R/metadataDS.R
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#' @details The function returns the metadata, obtained from attributes function.
#' @param x a string character, containing the name of the specified variable
#' @return a list containing the metadata. The elements of the list will depend
#' on the meatadata available.
#' on the metadata available.
#' @author Stuart Wheater, for DataSHIELD Development Team
#' @export
#'
Expand Down
2 changes: 1 addition & 1 deletion R/qlsplineDS.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#' probabilities directly (the vector is passed to argument probs of quantile).
#' @param x the name of the input numeric variable
#' @param q numeric, a single scalar greater or equal to 2 for a number of equal-frequency
#' intervals along x or a vector of numbers in (0; 1) specifying the quantiles explicitely.
#' intervals along x or a vector of numbers in (0; 1) specifying the quantiles explicitly.
#' @param na.rm logical, whether NA should be removed when calculating quantiles, passed
#' to na.rm of quantile. Default set to TRUE.
#' @param marginal logical, how to parametrize the spline, see Details
Expand Down
2 changes: 1 addition & 1 deletion R/repDS.R
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
#' help for <rep>" (see above). This parameter is usually fully defined by
#' the argument <times> in the call to \code{ds.rep} that itself calls \code{repDS}.
#' @param length.out.transmit This argument fixes the length of
#' the output repetive sequence vector
#' the output repetitive sequence vector
#' For behaviour see help for \code{ds.rep} and "details from native R
#' help for <rep>" (see above). This parameter is usually fully defined by
#' the argument <length.out> in the call to \code{ds.rep} that itself calls \code{repDS}.
Expand Down
2 changes: 1 addition & 1 deletion R/rmDS.R
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#' fail because the effect of the function is to delete the object and so
#' it would be impossible to write it anywhere.
#' @param x.names.transmit, the names of the objects to be deleted converted
#' into transmissable form, a comma seperated list of character string. The
#' into transmissible form, a comma separated list of character string. The
#' argument is specified via the <x.names> argument of ds.rm
#' @return the specified object is deleted from the serverside. If this
#' is successful the message "Object <x.names> successfully deleted" is returned
Expand Down
2 changes: 1 addition & 1 deletion R/table1DDS.R
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#' @details It generates a 1-dimensional tables where valid (non-disclosive) 1-dimensional tables are defined
#' as data from sources where no table cells have counts between 1 and the set threshold. When the output table
#' is invalid all cells but the total count are replaced by missing values. Only the total count is visible
#' on the table returned to the client site. A message is also returned with the 1-dimensional; the message
#' on the table returned to the client side. A message is also returned with the 1-dimensional; the message
#' says "invalid table - invalid counts present" if the table is invalid and 'valid table' otherwise.
#' @param xvect a numerical vector with discrete values - usually a factor.
#' @return a list which contains two elements: 'table', the 1-dimensional table and 'message' a message which
Expand Down
6 changes: 3 additions & 3 deletions R/tableDS.R
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
#' the table requested in the format specified by \code{ds.table}. For more
#' information see help for \code{ds.table} in DataSHIELD and the \code{table} function
#' in native R.
#' @param rvar.transmit is a character string (in inverted commas) specifiying the
#' @param rvar.transmit is a character string (in inverted commas) specifying the
#' name of the variable defining the rows in all of the 2 dimensional
#' tables that form the output. Fully specified by <rvar> argument in \code{ds.table}.
#' For more information see help for \code{ds.table}
#' @param cvar.transmit is a character string specifiying the
#' @param cvar.transmit is a character string specifying the
#' name of the variable defining the columns in all of the 2 dimensional
#' tables that form the output. Fully specified by <cvar> argument in \code{ds.table}.
#' For more information see help for \code{ds.table}
#' @param stvar.transmit is a character string specifiying the
#' @param stvar.transmit is a character string specifying the
#' name of the variable that indexes the separate two dimensional
#' tables in the output if the call specifies a 3 dimensional table.
#' Fully specified by <stvar> argument in \code{ds.table}.
Expand Down
6 changes: 3 additions & 3 deletions R/tableDS.assign.R
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@
#' as an object named by the <newobj> argument of \code{ds.table}. For more
#' information see help for \code{ds.table} in DataSHIELD and the \code{table} function
#' in native R.
#' @param rvar.transmit is a character string (in inverted commas) specifiying the
#' @param rvar.transmit is a character string (in inverted commas) specifying the
#' name of the variable defining the rows in all of the 2 dimensional
#' tables that form the output. Fully specified by <rvar> argument in \code{ds.table}.
#' For more information see help for \code{ds.table}
#' @param cvar.transmit is a character string specifiying the
#' @param cvar.transmit is a character string specifying the
#' name of the variable defining the columns in all of the 2 dimensional
#' tables that form the output. Fully specified by <cvar> argument in \code{ds.table}.
#' For more information see help for \code{ds.table}
#' @param stvar.transmit is a character string specifiying the
#' @param stvar.transmit is a character string specifying the
#' name of the variable that indexes the separate two dimensional
#' tables in the output if the call specifies a 3 dimensional table.
#' Fully specified by <stvar> argument in \code{ds.table}.
Expand Down
6 changes: 3 additions & 3 deletions R/tableDS2.R
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@
#' is nevertheless TRUE, the name for the serverside table object defaults
#' to 'newObj'. Fully specified by <newobj> argument in \code{ds.table}.
#' For more information see help for \code{ds.table}
#' @param rvar.transmit is a character string (in inverted commas) specifiying the
#' @param rvar.transmit is a character string (in inverted commas) specifying the
#' name of the variable defining the rows in all of the 2 dimensional
#' tables that form the output. Fully specified by <rvar> argument in \code{ds.table}.
#' For more information see help for \code{ds.table}
#' @param cvar.transmit is a character string specifiying the
#' @param cvar.transmit is a character string specifying the
#' name of the variable defining the columns in all of the 2 dimensional
#' tables that form the output. Fully specified by <cvar> argument in \code{ds.table}.
#' For more information see help for \code{ds.table}
#' @param stvar.transmit is a character string specifiying the
#' @param stvar.transmit is a character string specifying the
#' name of the variable that indexes the separate two dimensional
#' tables in the output if the call specifies a 3 dimensional table.
#' Fully specified by <stvar> argument in \code{ds.table}.
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,16 @@ And the development version from
install.packages("remotes")
remotes::install_github("datashield/dsBase", "<BRANCH>")

# Install v6.4.0 with the following
remotes::install_github("datashield/dsBase", "v6.4.0-dev")
# Install v6.3.4 with the following
remotes::install_github("datashield/dsBase", "6.3.4")
```

For a full list of development branches, checkout https://github.com/datashield/dsBase/branches


## About

DataSHIELD is a software package which allows you to do non-disclosive federated analysis on sensitive data. Our website (https://www.datashield.org) has in depth descriptions of what it is, how it works and how to install it. A key point to highlight is that DataSHIELD has a client-server infrastructure, so the dsBase package (https://github.com/datashield/dsBase) needs to be used in conjuction with the dsBaseClient package (https://github.com/datashield/dsBaseClient) - trying to use one without the other makes no sense.
DataSHIELD is a software package which allows you to do non-disclosive federated analysis on sensitive data. Our website (https://www.datashield.org) has in depth descriptions of what it is, how it works and how to install it. A key point to highlight is that DataSHIELD has a client-server infrastructure, so the dsBase package (https://github.com/datashield/dsBase) needs to be used in conjunction with the dsBaseClient package (https://github.com/datashield/dsBaseClient) - trying to use one without the other makes no sense.

Detailed instructions on how to install DataSHIELD are at https://wiki.datashield.org/. The code here is organised as:

Expand All @@ -47,7 +47,7 @@ Detailed instructions on how to install DataSHIELD are at https://wiki.datashiel

[1] Burton P, Wilson R, Butters O, Ryser-Welch P, Westerberg A, Abarrategui L, Villegas-Diaz R,
Avraam D, Marcon Y, Bishop T, Gaye A, Escribà Montagut X, Wheater S (2025). _dsBase: 'DataSHIELD' Server Side Base Functions_. R
package version 6.3.3. <https://doi.org/10.32614/CRAN.package.dsBase>.
package version 6.3.4. <https://doi.org/10.32614/CRAN.package.dsBase>.

[2] Gaye A, Marcon Y, Isaeva J, LaFlamme P, Turner A, Jones E, Minion J, Boyd A, Newby C, Nuotio
M, Wilson R, Butters O, Murtagh B, Demir I, Doiron D, Giepmans L, Wallace S, Budin-Ljøsne I,
Expand All @@ -66,6 +66,6 @@ Detailed instructions on how to install DataSHIELD are at https://wiki.datashiel
Duijts L, Escribà Montagut X, Garner H, Gonçalves G, González J, Haakma S, Hartlev M,
Hasenauer J, Huth M, Hyde E, Jaddoe V, Marcon Y, Mayrhofer M, Molnar-Gabor F, Morgan A,
Murtagh M, Nestor M, Nybo Andersen A, Parker S, Pinot de Moira A, Schwarz F,
Strandberg-Larsen K, Morris AvSwertz, Welten M, Wheater S, Burton P (2024). “DataSHIELD:
Strandberg-Larsen K, Swertz M, Welten M, Wheater S, Burton P (2024). “DataSHIELD:
mitigating disclosure risk in a multi-site federated analysis platform.” _Bioinformatics
Advances_, *5*(1), 1-21. <https://doi.org/10.1093/bioadv/vbaf046>.
6 changes: 3 additions & 3 deletions docs/404.html

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading