2013-05-29 29 views
6

Przeszukałem kilka miejsc dla 2 prostych potrzeb, ale nie mogłem znaleźć ostatecznej odpowiedzi.Skrypt wsadowy R - ustawienie katalogu roboczego i wybranie folderu wyjściowego

Używam skryptu R w trybie wsadowym. Nie jestem pewien, czy moje rozwiązanie jest najlepsze, ale używam R CMD BATCH zgodnie z http://stat.ethz.ch/R-manual/R-patched/library/utils/html/BATCH.html zawartym w pliku nietoperza.

Najpierw chciałbym mieć katalog, w którym zapisany jest skrypt R, skonfigurowany jako katalog roboczy, a nie miejsce zapisu pliku bat.

Po drugie, chciałbym przekazać wszystkie dane wyjściowe ze skryptu R (pliki CSV i wykresy) do określonego katalogu innego niż katalog roboczy. Nie mogę znaleźć żadnych opcji dla takiego podstawowego wymogu.

Ostatecznym pomysłem jest możliwość uruchomienia pliku bat na różnych komputerach bez względu na miejsce zapisania skryptu R.

Dzięki

Odpowiedz

6

Nie dać kod więc moja odpowiedź będzie tylko doradzić lub co bym zrobił na taką pracę.

  1. Użyj Rscript.exe jest to sposób, aby przejść do skryptu wsadowego. R CMD to rodzaj starszego narzędzia.
  2. Nie trzeba ustawiać ani zmieniać katalogu roboczego. Jest to źródłem problemów
  3. można uruchomić złożyć bat gdzie chcesz i wewnątrz niej udać się do położenia skryptu R używając cd na przykład złożyć BAT może być tak:

    cd R_SCRIPT_PATH 
    Rscript youscript.R arg1 arg2 
    
  4. Można użyć jeden z argumentów skryptu jako katalog wyjściowy dla plików wynikowych. Na przykład wewnątrz skryptu robisz coś takiego:

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