3

假设我有一个名为foo.r. 通常我会将它作为Rscript foo.r <args>.

我将如何从命令行上运行的交互式R提示运行相同的脚本R

4

2 回答 2

2

如果您需要以交互方式和非交互方式运行此脚本,我将添加一些如下逻辑:

if( interactive() ) {
    args <- strsplit(readline("Enter Args: "), " ")
} else {
    args <- commandArgs(trailingOnly = TRUE)
}

基本上,如果脚本正在以交互方式运行,则提示用户输入命令选项字符串,然后您将以某种方式对其进行解析,以便args以与您现在使用的任何命令行解析相同的方式进行设置。

http://stat.ethz.ch/R-manual/R-devel/library/base/html/interactive.html

于 2013-07-16T01:18:28.823 回答
0

这几乎是重复的。首先使用以下解决方案之一:

在 R 会话中设置 --args 的值

设置commandArgs(), 然后source("foo.R").

于 2013-07-16T06:53:32.607 回答