Adding Aggregate methods - dsSynthetic

Hi all

I was interested in using the package dsSynthetics, with the function ds.syn(). When I try it on the data used in the Vignette it works properly. ( vignette ).

Then, I tried using the same code on the Ninfea italian cohort:

builder <- DSI::newDSLoginBuilder()
builder$append(server = "server1",  url = "https://www.lifecycle.unito.it/",driver = "OpalDriver", 
               user = "----", password = "-----")
logindata <- builder$build()
connections <- DSI::datashield.login(logins = logindata, assign = TRUE, 
                                     symbol = "DST")
synth_data = ds.syn(data = "DST", method = "cart", m = 1, seed = 123)$server1$Data$syn

And I get this error:

"Command 'synDS(\"DST\", \"cart\", 1, NULL, FALSE, 123)' failed on 'server1': No such DataSHIELD 'AGGREGATE' method with name: synDS"

I checked and the synDS function is indeed not in the list of available methods when I run datashield.methods(connections, type = “aggregate”). More generally, it is not the first time I get an error like this for an ASSIGN or AGGREGATE method, that Datashield cannot find.

Does it mean the function is not installed/autorized by the cohort server? Can I install it myself? I looked at the Opal documentation (DataSHIELD — Opal documentation (obiba.org)) but I don’t see any codes to try.

Versions of packages used:

  • dsBase & dsBaseClient: 6.2.0.
  • dsSynthetic: 0.0.2.
  • dsOpal: 1.4.0
  • DSI: 1.5.0

Thanks in advance Inès

Inès,

What you are seeing does imply that the dsSynthetic package is not installed on the lifecycle.unito.it server. To install the package will require administrative access to the lifecycle.unito.it server.

I have name of a person at NINFEA who may be of help in this matter, contact me if you think it could help (stuart.wheater@arjuna.com)

Stuart