如何使用commandArgs从结果中选择数据帧

时间:2015-02-25 17:27:50

标签: r

我创建了一个查询数据库的脚本,如下所示:

args <- commandArgs(True)
query <- paste('Select ', args[2], ' from ', args[1], ';')
results <- influxdb_query('localhost', '999', 'admin', 'password', 'db', query)

该脚本具有以下用途:

>>> Rscript <program_name.R> <table_name> <column_name>

当我收到 结果 时,我无法使用 table_name args [1]参数来访问返回的数据帧。例如,我想做以下事情:

>>> Rscript program.R user_calls values

然后使用以下内容访问结果:

results$args[1]

并且还能够像这样访问列:

results$args[1]$args[2]

截至目前,上一个方法返回错误。我被迫明确地命名数据帧如下:

results$user_calls

这使程序的可塑性降低。

那么有没有办法使用命令行参数来选择结果数据帧和/或列?

1 个答案:

答案 0 :(得分:1)

我认为你需要

results[[args[1]]]

results[[args[1]]][[args[2]]]

即,使用[[代替$。有关详细信息,请参阅?Extract