I have a large data set, and I need to create 2x2 tables to do some further calculation. Part of he dataset looks like this: data X_data X_target1_result Y_target1_result result Negative Positive Negative Positive Positive Negative ... ...... Where the "result" column is empty, since I have multiply targets to compare, so I need to generate a Macro to do it. The macro code is: ******************************************************************************* %MACRO compare(data, target, comp); data data1 (replace=yes); set &data; %if "&comp._&target._result"="Positive" %then %do; if "Y_&target._result"="Positive" then "result"=TP; else if "Y_&target._result"="Negative" then "result"=FN; %end; %else %if "&comp._&target._result"="Negative" %then %do; if "Y_&target._result"="Positive" then "result"=FP; else if "Y_&target._result"="Negative" then "result"=TN; %end; run; *********more proc sql and other code ********** %MEND; ********************************************************************************** So When I run this Macro in the main program: %include "¯opath.compare.sas"; %compare(X_data, target1, X) This ends up give me the column "result" in data1 still empty, not fill with TP, TN, etc. What mistake did I make and how to solve it?
... View more