Как я могу передать аргументы Rscript, который у меня есть на рабочем столе? - PullRequest
1 голос
/ 24 июня 2019

У меня на рабочем столе есть rscript (file.r), который содержит функцию.Мне нужно вызвать эту функцию из командной строки Windows и передать ей аргументы, я нашел этот способ, но я не понимаю, как она используется, например, что это значит?
У меня уже есть оболочка R, но мне нужно сделать это из командной строки Windows, а не самой R

args <- commandArgs(trailingOnly = TRUE)

1 Ответ

2 голосов
/ 24 июня 2019

У вас есть R-скрипт (test.R), например:

#commandArgs picks up the variables you pass from the command line
args <- commandArgs(trailingOnly = TRUE)
print(args)

Затем вы запускаете ваш скрипт из командной строки, используя:

#here the arguments are 5 and 6 that will be picked from args in the script
PS C:\Users\TB\Documents> Rscript .\test.R 5 6
[1] "5"      "6"

Тогда что вы получаетеback - это вектор, содержащий 2 элемента, то есть 5 и 6. trailingOnly = TRUE гарантирует, что вы просто вернете 5 и 6 в качестве аргументов.Если вы опустите его, переменная args также будет содержать некоторые подробности о вызове:

Проверьте это, например.Мой R-скрипт:

args <- commandArgs()
print(args)

И вызов возвращается:

PS C:\Users\TB\Documents> Rscript .\test.R 5 6
[1] "C:\\Users\\TB\\scoop\\apps\\anaconda3\\current\\lib\\R\\bin\\x64\\Rterm.exe"
[2] "--slave"
[3] "--no-restore"
[4] "--file=.\\test.R"
[5] "--args"
[6] "5"
[7] "6"

Я не включил сюда trailingOnly = TRUE и мне также были возвращены некоторые детали вызова.

...