如何以列表的形式读取R中的命令行参数?
例如:Rscript myScript.R hello world
myScript.R代码:
args <- commandArgs(trailingOnly =TRUE)
print(typeof(args)) ---> character
print(args[1]) ---> hello
print(args[2]) ---> world
如果我能够像上面那样访问第1和第2个元素,那么为什么typeof args是字符,为什么不列出?
另外,如果它是一个字符,我如何将其作为命名列表读取,其第一个元素是hello,第二个元素是world。
如果args是一个字符,那么我尝试按空格分割它以形成一个列表:
args <- strsplit(args , " ")
但它会创建列表列表。请帮忙。
答案 0 :(得分:0)
好吧,我想我想出来了......
args
确实是由两个元素组成的character
向量。因此,分别使用'hello'
和'world'
访问args[1]
和args[2]
是完全正常的。
现在,我不明白为什么你希望它成为一个清单......但如果你真的希望它成为一个清单......也许你应该这样做:
args <- commandArgs(trailingOnly =TRUE)
print(typeof(args))
print(args[1]) # 'hello'
print(args[2]) # 'world'
args_names <- args # saving 'hello' and 'world' to be the names of the list
args <- as.list(args) # making the list
names(args) <- args_names # naming the list
print(typeof(args)) # showing that it is now a list
这是你想要的吗?