剧本
#!/usr/local/bin/Rscript --slave
args <- commandArgs(TRUE)
print(args);
外壳命令
~/Rscript my_script.R hello 10 3
输出
[1] "hello" "0" "10"
我期待一个像这样的数组:
[1] "hello"
[2] "0"
[3] "10"
那么我做错了什么?
剧本
#!/usr/local/bin/Rscript --slave
args <- commandArgs(TRUE)
print(args);
外壳命令
~/Rscript my_script.R hello 10 3
输出
[1] "hello" "0" "10"
我期待一个像这样的数组:
[1] "hello"
[2] "0"
[3] "10"
那么我做错了什么?
这就是向量在 R 中的打印方式,就像您像这样创建它一样:
> c("hello", "10", "3")
[1] "hello" "10" "3"
尝试
print(args[1])
print(args[2])
print(args[3])
你会看到每个都访问了适当的字符串。
从?commandArgs
返回的值是:
包含可执行文件名称和用户提供的命令行参数的字符向量
您显示的输出是 R 显示向量的标准方式:
> c("Hello", "10", "3")
[1] "Hello" "10" "3"
如果您想以数字形式访问 args 中的值,请不要忘记将其转换为 commandArgs 为您提供字符串向量。前任。
N <- as.numeric(Args[3])
返回您 10 而不是“10”。