我试图从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
任何人都可以解释这个错误信息的含义吗?
答案 0 :(得分:3)
试试functionName(commandArgs(trailingOnly = TRUE)[1])
。 args
中定义的functionName
对象在函数外部不是“可见的”。在这里,它指向args()
内置函数,请参阅?args
。