我有一个 .R 文件,其中存储了一些函数。FunctionName <- function(x) 中的函数。我正在尝试编写一个引用此 R 文件的 SAS 代码,并且可以调用和运行 R 文件中的一个函数。这是我的代码:
proc iml;
submit /R;
source(file = "C:/blah/My Documents/R/TheRFile.R")
function1("2014-05-25")
endsubmit;
quit;
这是我的 R 文件中的函数之一:
function1 <- function(x){
refdate <- as.Date(x)
#MORE STUFF HERE
}
本质上,这个 R 文件中的 R 函数将日期作为参数,并使用此参数来决定如何对某些数据文件进行排序。当我运行 SAS 代码时,我得到:
NOTE: IML Ready
3393 submit /R;
3394 source(file = "C:/blah/My Documents/R/TheRFile.R")
3395 function1("2014-05-25")
3396 endsubmit;
ERROR: R: Error: could not find function "function1"
statement : SUBMIT at line 3393 column 1
3397 quit;
NOTE: Exiting IML.
NOTE: The SAS System stopped processing this step because of errors.
NOTE: PROCEDURE IML used (Total process time):
real time 0.71 seconds
cpu time 0.01 seconds
我尝试使用 SAS MACRO 命令,但这让我更加困惑。我想我清楚地解释了我想做的事情。我了解提交 /R 允许您在该 SAS 代码块中运行 R 代码,但我实际上是在尝试访问外部 .R 文件的功能。我一直在用谷歌搜索拉我的头发,我想做的事情似乎没有任何意义。我已经更改了函数/变量/文件位置的名称,但它仍然应该有意义。谢谢。