Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
76b4cb9
Fixed version
StuartWheater Nov 22, 2024
d7e4420
Merge pull request #32 from datashield/master
davraam Nov 27, 2024
a4d5ed2
Merge pull request #366 from StuartWheater/v6.3.2-dev
StuartWheater Dec 20, 2024
4d24f7a
Updated 'docs'
StuartWheater Jan 6, 2025
36c618f
Merge branch 'datashield:v6.3.2-dev' into v6.3.2-dev
StuartWheater Jan 6, 2025
d894e1f
Merge pull request #367 from StuartWheater/v6.3.2-dev
StuartWheater Jan 6, 2025
f86a26c
Added creation of profile
StuartWheater Jan 7, 2025
df0a61d
Update Perf Profiles
StuartWheater Jan 8, 2025
e730ca7
Merge pull request #368 from StuartWheater/v6.3.2-dev
StuartWheater Jan 8, 2025
b1abc70
Perf profile for R tester
StuartWheater Mar 18, 2025
9ca0acd
Remove superfluous line after return tag, as this was resulting in a …
villegar Apr 22, 2025
6debdab
Replace Author and Maintainer tags with the Authors@R (CRAN note)
villegar Apr 22, 2025
ea6763b
Update of 'Authors@R'
StuartWheater Apr 22, 2025
f5d1baa
Merge pull request #375 from StuartWheater/v6.3.2-dev
StuartWheater Apr 22, 2025
08bed64
Merge branch 'v6.3.2-dev' into master
StuartWheater Apr 22, 2025
cd72fd6
Merge pull request #374 from villegar/master
StuartWheater Apr 22, 2025
3cc3046
Exclude the .github ignore directory from builds, as this results in …
villegar Apr 23, 2025
99a6435
Removed duplicate 'person'
StuartWheater Apr 25, 2025
feb7c06
Merge branch 'datashield:v6.3.2-dev' into v6.3.2-dev
StuartWheater Apr 25, 2025
6860136
Set 'cpus=4' for circleci
StuartWheater Apr 28, 2025
92cc491
Merge branch 'v6.3.2-dev' of github.com:StuartWheater/dsBase into v6.…
StuartWheater Apr 28, 2025
16ca96b
Merge pull request #376 from StuartWheater/v6.3.2-dev
StuartWheater May 2, 2025
58155c3
Update to documentation
StuartWheater May 21, 2025
d834645
Update to documentation
StuartWheater May 21, 2025
000c692
Merge pull request #37 from datashield/v6.3.2-dev
davraam May 27, 2025
fe45793
Adding smk tests for bp_standardsDS
davraam May 28, 2025
e094121
Merge pull request #380 from davraam/v6.3.2-dev
davraam May 28, 2025
b84150c
Update performance profile
StuartWheater May 28, 2025
5d82e58
Merge branch 'v6.3.2-dev' of github.com:StuartWheater/dsBase into v6.…
StuartWheater May 28, 2025
6bc8298
Merge pull request #381 from StuartWheater/v6.3.2-dev
StuartWheater May 28, 2025
96a98ac
add smk tests for gamlssDS
davraam May 29, 2025
452564f
Merge branch 'v6.3.2-dev' of https://github.com/datashield/dsBase int…
davraam May 29, 2025
9039767
Merge pull request #38 from datashield/v6.3.2-dev
davraam May 29, 2025
68fcefb
adding tests for dataFrameSubsetDS functions
davraam May 30, 2025
12ff67c
Merge pull request #382 from davraam/v6.3.2-dev
davraam May 30, 2025
b7368c7
Merge pull request #39 from datashield/v6.3.2-dev
davraam May 30, 2025
1e590fb
add smk test for hetcorDS
davraam Jun 2, 2025
fb853e0
Merge branch 'v6.3.2-dev' of https://github.com/datashield/dsBase int…
davraam Jun 2, 2025
885f5a6
Merge pull request #383 from davraam/v6.3.2-dev
davraam Jun 2, 2025
66bf472
Merge pull request #40 from datashield/v6.3.2-dev
davraam Jun 2, 2025
4fcf034
add smk test for densityGridDS
davraam Jun 2, 2025
ea2eba6
Merge pull request #41 from datashield/v6.3.2-dev
davraam Jun 2, 2025
5882c82
Merge pull request #384 from davraam/v6.3.2-dev
davraam Jun 2, 2025
3f2594d
Updated documents
StuartWheater Jun 2, 2025
c805727
Merge pull request #385 from StuartWheater/v6.3.2-dev
StuartWheater Jun 2, 2025
a2da1b4
Merge pull request #386 from datashield/v6.3.2-dev
StuartWheater Jun 12, 2025
baba9ae
Update version added Yannick
StuartWheater Jun 19, 2025
4ebc059
Merge pull request #387 from StuartWheater/v6.3.3-dev
StuartWheater Jun 19, 2025
f0da9b0
Minor changes for cran
StuartWheater Jun 23, 2025
a645441
Merge branch 'datashield:v6.3.3-dev' into v6.3.3-dev
StuartWheater Jun 23, 2025
f2419c2
Merge pull request #389 from StuartWheater/v6.3.3-dev
StuartWheater Jun 23, 2025
6f2da23
Removed unused test data to reduce size
StuartWheater Jun 29, 2025
17314f9
Merge branch 'v6.3.3-dev' of github.com:StuartWheater/dsBase into v6.…
StuartWheater Jun 29, 2025
2b1f0bc
Update documentation and test data
StuartWheater Jun 30, 2025
19bbea3
Switch to production format version
StuartWheater Jun 30, 2025
c13b443
Update Description
StuartWheater Jul 1, 2025
ea32e8d
Merge pull request #390 from StuartWheater/v6.3.3-dev
StuartWheater Jul 1, 2025
6cd03a6
Update documentation
StuartWheater Jul 1, 2025
411049b
Merge pull request #391 from StuartWheater/v6.3.3-dev
StuartWheater Jul 1, 2025
82175ec
Add Roxygen2 tag @return to indicate the returning object of the func…
villegar Jul 7, 2025
7e6b1de
Add missing Roxygen2 tag @noRd for internal functions
villegar Jul 7, 2025
1497d94
Relocate AggregateMethods, AssignMethods and Options section
villegar Jul 7, 2025
f77117a
New build
villegar Jul 7, 2025
d9d02c6
Update title and description to add single quotes to mentions of Data…
villegar Jul 7, 2025
f84300d
Correct minor typos
villegar Jul 7, 2025
7858508
Replace calls to the print function by message
villegar Jul 7, 2025
0d99285
Relocate options section to .onLoad function
villegar Jul 7, 2025
a217dbc
Replace instances of cat with message
villegar Jul 7, 2025
0b9299c
Correct typo
villegar Jul 7, 2025
bff026d
Reformat code with styler::stile_file
villegar Jul 7, 2025
a8429dc
New build
villegar Jul 7, 2025
efdbe89
Update name of local environment global variable, env >>> ENV
villegar Jul 7, 2025
51e8d55
Add section to back-up the current .Random.seed and revert on.exit
villegar Jul 7, 2025
fa8b54d
New build
villegar Jul 7, 2025
2ebc26d
Add GHA standard checks workflow
villegar Jul 8, 2025
03d3310
Add --as-cran arg
villegar Jul 8, 2025
89e1154
Merge pull request #392 from villegar/v6.3.3-dev
StuartWheater Jul 8, 2025
7c58fe2
Updated and extended perf profiles
StuartWheater Jul 8, 2025
2ca5482
Remove invalid --as-cran flag when building package
villegar Jul 8, 2025
c32e027
Add lines to ignore performance tests on CRAN and GitHub Actions
villegar Jul 8, 2025
51334b8
Update R-CMD-check.yaml
StuartWheater Jul 8, 2025
9b8d8d6
Merge pull request #393 from StuartWheater/v6.3.3-dev
StuartWheater Jul 8, 2025
ff70f7b
Merge pull request #394 from villegar/v6.3.3-dev
StuartWheater Jul 8, 2025
bdd3cd8
Merging with v6.3.3-dev plus document update
StuartWheater Jul 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .Rbuildignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@
^pkgdown$
^\.circleci$
^\.circleci/config\.yml$
^\.github$
1 change: 1 addition & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ jobs:
sudo apt-get install -y libxml2-dev
- run:
command: |
echo "options(Ncpus=4)" >> ~/.Rprofile
sudo Rscript -e "install.packages('RANN', dependencies=TRUE)"
sudo Rscript -e "install.packages('stringr', dependencies=TRUE)"
sudo Rscript -e "install.packages('lme4', dependencies=TRUE)"
Expand Down
1 change: 1 addition & 0 deletions .github/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.html
51 changes: 51 additions & 0 deletions .github/workflows/R-CMD-check.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
on:
push:
branches: [main, master]
pull_request:

name: R-CMD-check.yaml

permissions: read-all

jobs:
R-CMD-check:
runs-on: ${{ matrix.config.os }}

name: ${{ matrix.config.os }} (${{ matrix.config.r }})

strategy:
fail-fast: false
matrix:
config:
- {os: macos-latest, r: 'release'}
- {os: windows-latest, r: 'release'}
- {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'}
- {os: ubuntu-latest, r: 'release'}
- {os: ubuntu-latest, r: 'oldrel-1'}

env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
R_KEEP_PKG_SOURCE: yes

steps:
- uses: actions/checkout@v4

- uses: r-lib/actions/setup-pandoc@v2

- uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ matrix.config.r }}
http-user-agent: ${{ matrix.config.http-user-agent }}
use-public-rspm: true

- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::rcmdcheck
needs: check

- uses: r-lib/actions/check-r-package@v2
with:
upload-snapshots: true
build_args: 'c("--no-manual", "--compact-vignettes=gs+qpdf")'
221 changes: 43 additions & 178 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,9 +1,47 @@
Package: dsBase
Title: DataSHIELD Server Site Base Functions
Description: DataSHIELD Server Site Base Functions.
Version: 6.4.0.9000
Author: DataSHIELD Developers <datashield@liverpool.ac.uk>
Maintainer: DataSHIELD Developers <datashield@liverpool.ac.uk>
Title: 'DataSHIELD' Server Site Base Functions
Description: Base 'DataSHIELD' functions for the server side. 'DataSHIELD' is a software package which allows
you to do non-disclosive federated analysis on sensitive data. 'DataSHIELD' analytic functions have
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.
Version: 6.4.0-9000
Authors@R: c(person(given = "Paul",
family = "Burton",
role = c("aut")),
person(given = "Rebecca",
family = "Wilson",
role = c("aut")),
person(given = "Olly",
family = "Butters",
role = c("aut")),
person(given = "Patricia",
family = "Ryser-Welch",
role = c("aut")),
person(given = "Alex",
family = "Westerberg",
role = c("aut")),
person(given = "Leire",
family = "Abarrategui",
role = c("aut")),
person(given = "Roberto",
family = "Villegas-Diaz",
role = c("aut"),
comment = c(ORCID = "0000-0001-5036-8661")),
person(given = "Demetris",
family = "Avraam",
role = c("aut"),
comment = c(ORCID = "0000-0001-8908-2441")),
person(given = "Yannick",
family = "Marcon",
role = c("aut"),
email = "yannick.marcon@obiba.org",
comment = c(ORCID = "0000-0003-0138-2023")),
person(given = "Stuart",
family = "Wheater",
role = c("aut", "cre"),
email = "stuart.wheater@arjuna.com",
comment = c(ORCID = "0009-0003-2419-1964")))
License: GPL-3
Depends:
R (>= 4.0.0)
Expand All @@ -25,178 +63,5 @@ Imports:
tidyverse
Suggests:
testthat
AggregateMethods:
asFactorDS1,
asListDS,
aucDS,
boxPlotGGDS,
checkNegValueDS,
classDS,
colnamesDS,
corTestDS,
corDS,
covDS,
dataFrameSubsetDS1,
densityGridDS,
extractQuantilesDS1,
extractQuantilesDS2,
dimDS,
gamlssDS,
glmDS1,
glmDS2,
glmerSLMADS2,
glmPredictDS.ag,
glmSLMADS1,
glmSLMADS2,
glmSummaryDS.ag,
heatmapPlotDS,
hetcorDS,
histogramDS1,
histogramDS2,
isNaDS,
isValidDS,
kurtosisDS1,
kurtosisDS2,
lengthDS,
levelsDS,
lexisDS1,
listDisclosureSettingsDS,
lmerSLMADS2,
lsDS,
matrixDetDS1,
meanDS,
meanSdGpDS,
messageDS,
metadataDS,
miceDS,
minMaxRandDS,
namesDS,
numNaDS,
quantileMeanDS,
rangeDS,
ranksSecureDS1,
ranksSecureDS3,
rmDS,
scatterPlotDS,
scoreVectDS,
setSeedDS,
skewnessDS1,
skewnessDS2,
table1DDS,
table2DDS,
tableDS,
tableDS2,
tapplyDS,
testObjExistsDS,
varDS,
exists=base::exists,
is.character=base::is.character,
is.factor=base::is.factor,
is.list=base::is.list,
is.null=base::is.null,
is.numeric=base::is.numeric,
NROW=base::NROW,
t.test=stats::t.test
AssignMethods:
absDS,
asCharacterDS,
asDataMatrixDS,
asFactorDS2,
asFactorSimpleDS,
asIntegerDS,
asListDS,
asLogicalDS,
asMatrixDS,
asNumericDS,
blackBoxDS,
blackBoxRanksDS,
BooleDS,
boxPlotGG_data_TreatmentDS,
boxPlotGG_data_Treatment_numericDS,
bp_standardsDS,
cbindDS,
cDS,
changeRefGroupDS,
completeCasesDS,
dataFrameDS,
dataFrameFillDS,
dataFrameSortDS,
dataFrameSubsetDS2,
dmtC2SDS,
elsplineDS,
glmerSLMADS.assign,
glmPredictDS.as,
glmSLMADS.assign,
glmSummaryDS.as,
getWGSRDS,
igb_standardsDS,
listDS,
lexisDS2,
lexisDS3,
lmerSLMADS.assign,
lsplineDS,
matrixDetDS2,
matrixDiagDS,
matrixDimnamesDS,
matrixDS,
matrixInvertDS,
matrixMultDS,
matrixTransposeDS,
mergeDS,
nsDS,
qlsplineDS,
ranksSecureDS2,
ranksSecureDS4,
ranksSecureDS5,
rbindDS,
rBinomDS,
recodeLevelsDS,
recodeValuesDS,
repDS,
replaceNaDS,
reShapeDS,
rNormDS,
rowColCalcDS,
rPoisDS,
rUnifDS,
sampleDS,
seqDS,
sqrtDS,
tableDS.assign,
tapplyDS.assign,
uniqueDS,
unListDS,
vectorDS,
as.character=base::as.character,
as.null=base::as.null,
as.numeric=base::as.numeric,
attach=base::attach,
c=dsBase::vectorDS,
complete.cases=stats::complete.cases,
list=base::list,
exp=base::exp,
log=base::log,
sqrt=base::sqrt,
abs=base::abs,
sin=base::sin,
cos=base::cos,
tan=base::tan,
asin=base::asin,
acos=base::acos,
atan=base::atan,
sum=base::sum,
unlist=base::unlist
Options:
datashield.privacyLevel=5,
default.datashield.privacyControlLevel="banana",
default.nfilter.glm=0.33,
default.nfilter.kNN=3,
default.nfilter.string=80,
default.nfilter.subset=3,
default.nfilter.stringShort=20,
default.nfilter.tab=3,
default.nfilter.noise=0.25,
default.nfilter.levels.density=0.33,
default.nfilter.levels.max=40
RoxygenNote: 7.3.2
Encoding: UTF-8
1 change: 1 addition & 0 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ export(BooleDS)
export(absDS)
export(asCharacterDS)
export(asDataFrameDS)
export(asDataMatrixDS)
export(asFactorDS1)
export(asFactorDS2)
export(asFactorSimpleDS)
Expand Down
9 changes: 6 additions & 3 deletions R/BooleDS.R
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,13 @@
#' the final output variable
#' should be of class numeric (1/0) or class logical (TRUE/FALSE).
#' @param na.assign.text A character string taking values 'NA', '1' or '0'. If 'NA'
#' then any NA values in the input vector remain as NAs in the output vector. If '1'
#' or '0' NA values in the input vector are all converted to 1 or 0 respectively.
#' @return the levels of the input variable.
#' then any NA values in the
#' input vector remain as NAs in the output vector. If '1' or '0' NA values in the
#' input vector are all converted to 1 or 0 respectively.
#'
#' @author DataSHIELD Development Team
#'
#' @return the levels of the input variable.
#' @export
#'
BooleDS <- function(V1.name=NULL, V2.name=NULL, Boolean.operator.n=NULL, na.assign.text, numeric.output=TRUE){
Expand Down
10 changes: 4 additions & 6 deletions R/absDS.R
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,19 @@
#' @param x a string character, the name of a numeric or integer vector
#' @return the object specified by the \code{newobj} argument
#' of \code{ds.abs} (or default name \code{abs.newobj})
#' which is written to the serverside. The output object is of class numeric
#' which is written to the serverside. The output object is of class numeric
#' or integer.
#' @author Demetris Avraam for DataSHIELD Development Team
#' @export
#'
absDS <- function(x){

x.var <- eval(parse(text=x), envir = parent.frame())
absDS <- function(x) {
x.var <- eval(parse(text = x), envir = parent.frame())

# compute the absolute values of x
out <- abs(x.var)

# assign the outcome to the data servers
return(out)

}
# ASSIGN FUNCTION
# absDS
10 changes: 4 additions & 6 deletions R/asCharacterDS.R
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#'
#'
#' @title Coerces an R object into class character
#' @description this function is based on the native R function \code{as.character}
#' @details See help for function \code{as.character} in native R
Expand All @@ -11,14 +11,12 @@
#' details see help on the clientside function \code{ds.asCharacter}
#' @author Amadou Gaye, Paul Burton, Demetris Avraam for DataSHIELD Development Team
#' @export
#'
asCharacterDS <- function(x.name){

x <- eval(parse(text=x.name), envir = parent.frame())
#'
asCharacterDS <- function(x.name) {
x <- eval(parse(text = x.name), envir = parent.frame())

output <- as.character(x)
return(output)

}
# ASSIGN FUNCTION
# asCharacterDS
14 changes: 6 additions & 8 deletions R/asDataMatrixDS.R
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,12 @@
#' details see help on the clientside function \code{ds.asDataMatrix}
#' @author Tim Cadman
#' @export
asDataFrameDS <- function (x.name){

if(is.character(x.name)){
x <- eval(parse(text=x.name), envir = parent.frame())

}else{
studysideMessage<-"ERROR: x.name must be specified as a character string"
stop(studysideMessage, call. = FALSE)
asDataMatrixDS <- function(x.name) {
if (is.character(x.name)) {
x <- eval(parse(text = x.name), envir = parent.frame())
} else {
studysideMessage <- "ERROR: x.name must be specified as a character string"
stop(studysideMessage, call. = FALSE)
}

output <- data.frame(x)
Expand Down
Loading
Loading