我创建了一个查询数据库的脚本,如下所示:
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
这使程序的可塑性降低。
那么有没有办法使用命令行参数来选择结果数据帧和/或列?
答案 0 :(得分:1)
我认为你需要
results[[args[1]]]
和
results[[args[1]]][[args[2]]]
即,使用[[
代替$
。有关详细信息,请参阅?Extract
。