是否可以在RStudio中为R脚本指定命令行参数?

Dmi*_* K. 12 r rstudio

我想使用RStudio来编辑具有命令行参数的R脚本,例如,

my_rscript --dataset mydataset
Run Code Online (Sandbox Code Playgroud)

然后将optiion值读入R变量dataset,例如,使用optparse库.

但是,我无法在RStudio中找到可以提供acommand行的位置,因此我可以使用"Source on save"功能.相反,我必须对程序本身中的所有程序参数进行硬编码:

dataset <- "mydataset"
Run Code Online (Sandbox Code Playgroud)

这需要在每次我需要指定不同的数据时修改脚本文本.

有人知道如何提供命令行信息吗?

bio*_*man 16

现在我这样做:打开一个编辑新Rscript的新窗口.如果我想保留它,我可以保存并命名为:test_myscript.R 这是以下内容test_myscript.R:

debug(getopt) # suppose I want to debug 'getopt' function in 'myscript.R'
system("myscript.R -a -b -c")
# Debug process start after this. 
# Check ?browser for help about navigating inside browser
Run Code Online (Sandbox Code Playgroud)


rrs*_*rrs 7

我知道这个问题很旧,下面的链接很旧,但它回答了这个问题.不,从RStudio访问命令行参数是不可能的(或者不是2012年1月29日).

链接 https://support.rstudio.com/hc/communities/public/questions/200659066-Accessing-command-line-options-in-RStudio?locale=en-us

  • 这可能在技术上是正确的,但显然可以(并且总是可能的)通过`system("rscript myscript.r -a -b -c")传递参数`哪一个可以从RStudio控制台执行 - 请参阅@的回答biocyberman,我认为这应该是公认的答案 (7认同)

TAR*_*man 5

您可以使用来调用程序Rscript programname.r arg1 arg2 arg3。参数传递给commandArgs,因此以下内容为真:

Rscript programname.r F N 32

> args <- commandArgs(trailingOnly=TRUE)
> args[1]
[1] F
> args[2]
[1] N
> args[3]
[1] 32
Run Code Online (Sandbox Code Playgroud)