*you must first creat the data table for the kappas!; %macro Kappa_Table_create(data_in); data Kappa_Table_&data_in; run; %mend Kappa_Table_create; %macro Kappa_Table(data_in, chip1_signal, chip2_signal, chip1_detection, chip2_detection); *this calculates Kappa, wt.Kappa for the quartiles; proc freq data = &data_in; Tables quartile_&chip1_signal * quartile_&chip2_signal /AGREE ; output out = Kappa_Table_quartile kappa WTKAP ; run; data Kappa_Table_quartile; set Kappa_Table_quartile; chip1_name = "&chip1_signal"; chip2_name = "&chip2_signal"; analysis_on = "quartiles"; run; data Kappa_Table_&data_in; set Kappa_Table_&data_in Kappa_Table_quartile; *by analysis_on chip1_name chip2_name ; run; *this analysis calculates Kappa for the on/offs; proc freq data = &data_in; Tables off_&chip1_detection * off_&chip2_detection /AGREE ; output out = Kappa_Table_onoff kappa ; run; data Kappa_Table_onoff; set Kappa_Table_onoff; chip1_name = "&chip1_detection"; chip2_name = "&chip2_detection"; analysis_on = "on_offs"; keep analysis_on chip1_name chip2_name _Kappa_ _WTKAP_ ; run; data Kappa_Table_&data_in; set Kappa_Table_&data_in Kappa_Table_onoff; keep analysis_on chip1_name chip2_name _Kappa_ _WTKAP_ ; run; /* *this analysis calculates Kappa from P,M,A; proc freq data = &data_in; Tables &chip1_detection * &chip2_detection /AGREE ; output out = Kappa_Table_PMA kappa ; run; data Kappa_Table_PMA; set Kappa_Table_PMA; chip1_name = "&chip1_detection"; chip2_name = "&chip2_detection"; analysis_on = "PMA"; keep analysis_on chip1_name chip2_name _Kappa_ _WTKAP_ ; run; data Kappa_Table_&data_in; set Kappa_Table_&data_in Kappa_Table_PMA; keep analysis_on chip1_name chip2_name _Kappa_ _WTKAP_ ; run; */ %mend Kappa_Table;