向各位SAS IML达人请教一个SAS IML调用DATA step数据的问题。程序见下方。print alpha beta可以正常输出,但是计算积分却报错,不知道是什么缘故?
注:我在写一个很复杂的宏,这是我简化的一个程序。我必须调用DATA eval里面的数
据,而不能直接在IML里面定义这些数据。
/* Define the Integrand in AUC Quaduature */
%MACRO TPR(FPR, alpha, beta);
1-1/(1+exp((log(&FPR./(1-&FPR.))+&alpha.)*exp(&beta./2)));
%MEND TPR;
DATA eval;
input alpha beta;
cards;
2.6728 -0.1220
;
RUN;
PROC IML;
use eval;
read all;
print alpha beta;
start fun(FPR);
TPR=%TPR(FPR, alpha, beta);
return(TPR);
finish;
/* Call QUAD */
bound = { 0 1 };
call quad(AUC, "fun", bound) eps=1E-10;
print AUC;
QUIT;
[此贴子已经被作者于2008-11-1 19:23:30编辑过]