2013-05-29 10 views
6

Ho scavato in diversi punti per 2 semplici esigenze ma non ho trovato una risposta definitiva.Script Ratch Batch - impostazione della directory di lavoro e selezione della cartella di output

Sto eseguendo uno script R in modalità batch. Non sono sicuro se la mia soluzione sia la migliore, ma sto usando R CMD BATCH come da http://stat.ethz.ch/R-manual/R-patched/library/utils/html/BATCH.html incluso in un file bat.

Per prima cosa mi piacerebbe avere la directory in cui lo script R viene salvato impostato come directory di lavoro anziché dove il file bat viene salvato.

In secondo luogo mi piacerebbe deviare tutto l'output dallo script R (file CSV e grafici) in una directory specifica diversa dalla directory di lavoro. Non riesco a trovare nessuna opzione per questo requisito di base.

L'idea finale è di essere in grado di eseguire il file bat su diversi computer, indipendentemente da dove viene salvato lo script R.

Grazie

risposta

6

Non dai codice in modo la mia risposta sarà solo un consiglio o di quello che avrei fatto per tale lavoro.

  1. Utilizzare Rscript.exe è la strada da percorrere per lo script batch. R CMD è una sorta di strumento legacy.
  2. Non è necessario impostare o modificare la directory di lavoro. Si tratta di una fonte di problemi
  3. È possibile avviare si file bat dove si desidera e all'interno di esso si va in posizione script in R usando cd per esempio file bat può essere come:

    cd R_SCRIPT_PATH 
    Rscript youscript.R arg1 arg2 
    
  4. È possibile utilizzare uno degli argomenti script come directory di output per i file dei risultati. Per esempio dentro lo script non somehing in questo modo:

    args <- commandArgs(trailingOnly = TRUE) 
    resultpath <- as.character(args[1]) 
    ..... 
    write.table(res1, file=paste(resultpath,'res1.csv',sep='/')