Temat: rscript.exe i zmienne

Witam. Krótkie pytanie od początkującego: Czy wywołując skrypt napisany w R za pomocą rscript.exe (przez cmd) możliwe jest przekazanie wartości zmiennych występujących w tym skrypcie? Chciałbym w samym wywołaniu skryptu przez rscript mieć możliwość ingerencji w jego działanie.

np.:
rscript skryptR.r -zmienna_a=10

da się?
moje poszukiwania na stronach pomocy niestety nie przyniosły rezultatów.

pozdrawiam, P.Piotr Tompalski edytował(a) ten post dnia 11.04.11 o godzinie 16:56

Temat: rscript.exe i zmienne

Niestety, w prosty sposób nie da się wskazać konkretnej zmiennej, trzeba
pamiętać, na której pozycji jest jaka dana.

Albo przekazywać argumenty na zasadzie "zmienna=wartość" i parsować.

Przykładowy skrypt:
args <- commandArgs(TRUE);

upperLimit <- as.numeric(args[1]);
colNum <- as.numeric(args[2]);
filePath <- args[3];

x <- matrix(1:upperLimit,ncol=colNum);
write(x, file = filePath, sep = " ");


Wywołanie:
C:\Program Files\R\R-2.12.1\bin>Rscript.exe c:\temp\skr.r 40 5 c:\temp\wynik.txt


Wynik:
C:\Program Files\R\R-2.12.1\bin>type c:\temp\wynik.txt
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
26 27 28 29 30
31 32 33 34 35
36 37 38 39 40


Są też przydatne dwa pakiety, gdzie można nazywać parametry i odwoływać się do nich po nazwie:
1. getopt
2. optparseAdrian Olszewski edytował(a) ten post dnia 11.04.11 o godzinie 17:37

Temat: rscript.exe i zmienne

właśnie tego potrzebowałem!
dziękuję!
Wojciech Sobala

Wojciech Sobala Redaktor
statystyczny,
biostatystyk,
Instytut Medycyny
Pr...

Temat: rscript.exe i zmienne

Pomoc można przeszukiwać korzystając z funkcji ?? lub apropos (ta druga pozwala na ignorowanie wielkości liter przy wyszukiwaniu).

??command

Help files with alias or concept or title matching ‘command’ using
fuzzy matching:

base::commandArgs Extract Command Line Arguments
base::sprintf Use C-style String Formatting Commands
base::system Invoke a System Command
base::system2 Invoke a System Command
base::shell Invoke a System Command, using a Shell
maptools::sp2tmap Convert SpatialPolygons object for Stata tmap
command
R.utils::commandArgs Extract Command Line Arguments
R2HTML::HTMLReplaceNA Internal R2HTML functions
sfsmisc::mat2tex Produce LaTeX commands to print a matrix
tcltk::TkCommands Tk non-widget commands
tcltk::TkWidgetcmds Tk widget commands
utils::loadhistory Load or Save or Display the Commands History
Zelig::help.zelig HTML Help for Zelig Commands and Models



Wyślij zaproszenie do