Как я могу передать аргументы Rscript, который у меня есть на рабочем столе?

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

args <- commandArgs(trailingOnly = TRUE)
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
5
0
4 305
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У вас есть 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"

Затем вы получаете вектор, содержащий 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, и мне также вернули некоторые данные о звонках.

Привет, отличный ответ и большое спасибо, он мне уже помог. Не могли бы вы также показать, как их можно передать в качестве именованных аргументов? --first 5 --second 6 Заранее спасибо!

Sos 04.03.2021 09:43

Другие вопросы по теме