2013-05-29 8 views
6

Ich habe an mehreren Stellen nach zwei einfachen Bedürfnissen gesucht, konnte aber keine endgültige Antwort finden.Batch R Script - Einstellen des Arbeitsverzeichnisses und Auswählen des Ausgabeordners

Ich führe ein R-Skript im Batch-Modus. Ich bin mir nicht sicher, ob meine Lösung die beste Lösung ist, aber ich verwende R CMD BATCH gemäß http://stat.ethz.ch/R-manual/R-patched/library/utils/html/BATCH.html in einer Bat-Datei.

Zunächst möchte ich, dass das Verzeichnis, in dem das R-Skript gespeichert ist, als Arbeitsverzeichnis und nicht als Speicherort für die Fledermausdatei eingerichtet wird.

Zweitens möchte ich alle Ausgaben aus dem R-Skript (CSV-Dateien und Diagramme) in ein bestimmtes Verzeichnis anders als das Arbeitsverzeichnis umleiten. Ich kann keine Optionen für eine solche Grundanforderung finden.

Die letzte Idee ist es, in der Lage zu sein, die Fledermausdatei über verschiedene Computer laufen zu lassen, egal wo das R-Skript gespeichert wird.

Dank

Antwort

6

Sie geben keinen Code so meine Antwort nur eine Advise sein wird oder was ich für einen solchen Job tun würde.

  1. Verwenden Sie Rscript.exe es ist der Weg für Batch-Skript zu gehen. R CMD ist eine Art Vermächtniswerkzeug.
  2. Sie müssen das Arbeitsverzeichnis nicht festlegen oder ändern. Es ist eine Quelle von Problemen
  3. Sie können Sie bat-Datei starten, wo Sie wollen und in ihr gehen Sie zu R Skript Lage cd zum Beispiel Sie bat-Datei verwenden, können wie:

    cd R_SCRIPT_PATH 
    Rscript youscript.R arg1 arg2 
    
  4. Sie verwenden können Eines der Skriptargumente als Ausgabeverzeichnis für Ihre Ergebnisdateien. Zum Beispiel in Ihrem Skript haben Sie somehing wie folgt aus:

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