通过R CMD BATCH将值传递给函数

时间:2015-11-02 08:04:11

标签: r cmd rscript

我在R中创建了一个用于测试目的的函数,它将获得两个值,添加它们并将结果分配给变量,结果将存储在csv文件中。以下是我的代码

  f2 <- function(x, y) {
  args=(commandArgs(TRUE))
  z1 <- x + y
  z2 <- x + 2*y
  b <- list(z1, z2) 
  write.csv(b,"testfun.csv",row.names=F)
  print(z1)
  print(z2)
  print(b)
}

代码工作正常,我可以通过r控制台将值传递给我的函数。但是,我想使用R CMD而不是在r控制台中执行此操作。这是因为我有一个Web应用程序,它将在单击按钮时调用此功能。

我尝试使用以下代码调用该函数

Rscript test.R 5 100

R CMD BATCH --no-save --no-restore '--args x=3 y=5' test.R test.out &

然而,函数没有被调用,我没有得到输出。当我运行上述R CMD BATCH语句时,我收到的错误类似于&#39;&#39; - args&#39;&#39;没有相应的文件和目录。

  

致命错误:无法打开文件&#39;&#39; - args&#39;:没有此类文件或目录

所以我移动了&#39; - args x = 3 y = 5&#39;测试后的值.R就像

R CMD BATCH --no-save --no-restore test.R '--args x=3 y=5' test.out &

执行上述操作后,我将r s sript保存在目录中,而不是我预期的输出。我尝试了以下链接中的所有方法

Passing command line arguments to R CMD BATCH

任何人都可以对此有所了解吗?我需要通过rscript或r cmd调用我的函数以及一些参数。

0 个答案:

没有答案