2016-12-05 2 views
5

Есть ли способ отладить вызов Rscript в RStudio?Как отлаживать вызов Rscript

Скажем, я вызываю RScript из командной строки, например Rscript prog.R x y z, и я хочу изучить код на определенной строке. Я не могу просто запустить его в интерактивном режиме внутри Rstudio, потому что я не знаю, как передать аргументы.

+0

Rstudio предоставляет инструменты для отладки. Можете ли вы написать весь скрипт как функцию в R и передать x y z в качестве аргументов этой функции? –

+0

@ Dinesh.hmn Я считаю, что OP заинтересован в вызове инструментов отладки [tag: rstudio], когда R-скрипт вызывается через функцию 'source'. При выполнении через ** Cmd + return ** RStudio переходит в режим отладки. Этого не происходит, когда скрипт вызывается через функцию 'source'. – Konrad

+0

Создает ли ваш скрипт аргументы, вызывая 'commandArgs()'? Итак, вы хотите использовать способ «подделать» аргументы команды при вызове сценария с «источником» в RStudio? – Spacedman

ответ

0

Это то, что я делаю - это не формальная отладка, но она работает для меня.

верх например prog.R сценария:

# uncomment this section to run using Rscript from command line: 
userprefs <- commandArgs(trailingOnly = TRUE) 
x <- userprefs[1] 
y <- userprefs[2] 
z <- userprefs[3] 

# uncomment this section to run within RStudio 
cat("you forgot to comment out the troubleshooting part!") 
x <- 1 
y <- 2 
z <- 3 

Как устранить сценарий, закомментируйте одну или другая часть в зависимости от того, что вы в поиске RStudio или RScript из командной строки.