Thanks Rick: Data sim; Input A B C Beta P; cards; 1 2 3 0.5 0 2 3 4 0.5 1 3 4.5 3 0.5 1 3 5 6 0.5 0 ; Run; proc iml; use sim; read all var _NUM_ into DM; close; A = DM[,1]; B = DM[,2]; C = DM[,3]; Beta = DM[,4]; P = DM[,5]; n = nrow(DM); start Func(x) global( Beta_i, C_i , A_i, P_i); if P_i=0 then do; return( exp(-x)*exp(2-x +Beta_i*C_i)#(cdf("Normal", x-2+Beta_i*C_i + A_i)-cdf("Normal", x-1+C_i + A_i)) ); end; else do; return( exp(-x)*exp(4-x +Beta_i*C_i)#(cdf("Normal", x-4 +Beta_i*C_i + A_i)-cdf("Normal", x-1+C_i + A_i)) ); end; finish; answer = j(nrow(DM),1); do i = 1 to nrow(DM); Beta_i = Beta; C_i = C; A_i=A; P_i=P; /* set global variables */ call quad(result, "Func", A || B,); answer = result; end; create kaplan1n var{A B C Beta P Answer }; append; quit;
... View more