R Script non in grado di leggere.File Rda quando eseguito da Java


Sono nuovo di Rscript quindi per favore porta con me, ho bisogno di eseguire uno script R (scritto da un altro sviluppatore) da java e per questo sto usando Renjin. Il file di script R e gli altri file richiesti sono su classpath, ovvero nella cartella risorse.

Per ottenere ciò sto caricando Rscript da classpath e viene caricato correttamente, e Rscript tenta di caricare un file abc.Rda internamente che è presente anche in classpath (parallelo allo script R), il codice per lo stesso è inferiore a

load('abc.Rda')

Ma quando ci provo per eseguire lo script, lancia l'eccezione come di seguito:

Impossibile leggere da "file:///D:/data/{project-dir}/abc.Rda " perché non è un file.

Si prega di suggerire dove sto facendo errore.

Author: coatless, 2016-06-29

1 answers

Non sono sicuro del motivo per cui l'utilizzo del percorso assoluto non ha funzionato: forse lo script sta chiamando in modo errato setwd(dir='/bad/{project-dir}') da qualche parte prima?

Renjin in realtà media le operazioni del file system attraverso Apache Virtual File System (VFS). Quindi, se si desidera specificamente una risorsa sul classpath, è possibile utilizzare il protocollo" res:", ad esempio:

load('res:com/acme/mypackage/abc.Rda')

Questo dovrebbe funzionare se il file è effettivamente sul filesystem o pacchettizzato come parte di un jar o di un altro archivio.

 1
Author: akbertram, 2016-07-08 20:54:59