【问题标题】:Query data.frame through Bash script argument with Rscript使用 Rscript 通过 Bash 脚本参数查询 data.frame
【发布时间】:2011-08-19 03:27:51
【问题描述】:

如果我有一个 R 脚本:

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

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

q(status = 0)

我与 TSV 文件“example-table.tsv”一起使用:

"a" "b"
1 3
2 2
3 1

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

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

感谢您的帮助!

我意识到这对于编程来说可能是一个更好的问题,也可能不是一个更好的问题,而不是交叉验证......?

【问题讨论】:

  • 您可以试试read.table(args[2], header = TRUE, sep = "\t")read.delim(args[2])
  • 是的,很抱歉。我没有正确导出我的数据框。我已经编辑了问题。

标签: r


【解决方案1】:

尝试:

print(t[[args[1]]])

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

【讨论】:

  • 太棒了!我意识到我在最初的问题中犯了一些错误,但你成功了。
  • 这个问题应该被盯上了!这是 R ?Extract 101
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-12
  • 1970-01-01
相关资源
最近更新 更多