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.
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.