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