使用Rscript通过Bash脚本参数查询data.frame

bre*_*ews 5 r

如果我有一个R脚本:

#! /usr/bin/env Rscript
args <- commandArgs(TRUE)

t <- read.table(args[2], header = TRUE)
print(t$args[1])

q(status = 0)
Run Code Online (Sandbox Code Playgroud)

我使用TSV文件"example-table.tsv":

"a" "b"
1 3
2 2
3 1
Run Code Online (Sandbox Code Playgroud)

...使用Bash命令:./example.R a example-table.tsv...(当然,使R脚本可执行后)

为什么要t$args[1]回来NULL?我如何让这个例子返回我在脚本参数中指定的正确的data.frame列?

谢谢你的帮助!

我意识到这可能是也可能不是一个更好的编程问题,而不是Cross Validated ......?

koh*_*ske 4

尝试:

print(t[[args[1]]])
Run Code Online (Sandbox Code Playgroud)

请注意,它t$args[1]被解析为(t$args)[1]-> NULL[1]->NULL因为您的 data.frame 没有 'args' 列。