I encountered a different problem with the %CIF macro. The error occurs if the Cumulative Incidence Function (CIF) ever reaches 1.0, which can occur if there are no competing or censored events in one of the groups. The EXP() function generates an error because it may be given a value larger than IML can evaluate. This occurs in the following code when cifEST[cifloc,2] is very close to 1.0: lowci[cifloc] = cifEST[cifloc, 2]##exp((-z*cifEST[cifloc, 3]) /(cifEST[cifloc,2]#LOG(cifEST[cifloc,2])));
upci[cifloc] = cifEST[cifloc, 2]##exp((z*cifEST[cifloc, 3]) /(cifEST[cifloc,2]#LOG(cifEST[cifloc,2]))); which occurs 3 times in the macro. This error can be avoided by inserting a MIN() function to prevent an overly large number from being evaluated, as follows: lowci[cifloc] = cifEST[cifloc, 2]##exp((-z*cifEST[cifloc, 3]) /min(9999999,cifEST[cifloc,2]#LOG(cifEST[cifloc,2])));
upci[cifloc] = cifEST[cifloc, 2]##exp((z*cifEST[cifloc, 3]) /min(9999999,cifEST[cifloc,2]#LOG(cifEST[cifloc,2]))); Divide by zero warning can also occur here, but those do not cause the macro to fail.
... View more