Loo*_*mis 5 command-line r vector rscript
我正在使用 R 中预安装的 RScript 包。
我想从命令提示符调用以下名为“test.R”的 R 脚本:
a <- c("a", "b", "c")
a
args <- commandArgs(TRUE)
b <- as.vector(args[1])
b
Run Code Online (Sandbox Code Playgroud)
我使用以下命令:
RScript test.R c("d","e","f")
Run Code Online (Sandbox Code Playgroud)
这将创建以下输出:
[1] "a" "b" "c"
[1] "c(d,e,f)"
Run Code Online (Sandbox Code Playgroud)
如您所见,第一个(也是唯一的)参数被解释为字符串,然后转换为一维向量。如何将参数解释为向量?
旁注:当然,向量的项可以分为多个参数,但在我的最终项目中,将有多个向量参数。实现这样的事情是我最后的手段:
RScript test.R "d" "e" "f" END_OF_VECTOR_1 "g" "h" "i" END_OF_VECTOR_2 "j" "k" "l"
Run Code Online (Sandbox Code Playgroud)
您可以使用逗号分隔的列表。
在命令行上:
RScript test.R a,b,c d,e,f g,h,i j
Run Code Online (Sandbox Code Playgroud)
在你的代码中:
vargs <- strsplit(args, ",")
vargs
# [[1]]
# [1] "a" "b" "c"
#
# [[2]]
# [1] "d" "e" "f"
#
# [[3]]
# [1] "g" "h" "i"
#
# [[4]]
# [1] "j"
Run Code Online (Sandbox Code Playgroud)