从shell执行R脚本

时间:2014-05-12 11:53:49

标签: linux r

我试图从shell调用R脚本。

脚本如下所示:

functionName <- function(file1){
  args <- commandArgs(trailingOnly = TRUE)
  print(args)
  data <- read.table(file(file1),row.names=1,header=FALSE,sep='\t',dec='.')}


functionName(args[1])

我的file1包含数字行,如:

1 2 1 2 4
2 4 5 4 2
1 2 3 4 5

但是,从shell调用此脚本:

Rscript scriptName fileName

我收到以下错误:

Error in args[1] : object of type 'closure' is not subsettable
Calls: processGroups -> read.table -> file
Execution halted

任何人都可以解释这个错误信息的含义吗?

1 个答案:

答案 0 :(得分:3)

试试functionName(commandArgs(trailingOnly = TRUE)[1])args中定义的functionName对象在函数外部不是“可见的”。在这里,它指向args()内置函数,请参阅?args