Background: For my bivariate analysis, I am trying to perform the Fisher's exact test where the expected cell frequency is less than 5 (using proc FREQ). In one of my datasets I have to use a weight statement (in order to analyze a representative value of cases reported per county based on the percentage of randomly selected cases interviewed in that county). As a result, a lot of my (weighted) cell frequencies are non-integers.

Problem: Because some cell values are non-integers SAS is telling me: " WARNING: exact p-values cannot be computed when there are non-integer frequencies".

Question: Does anyone know a way around this? In other words, how can I calculate fisher exact tests when I have non-integer values (yes, I have to use weighted values)? Is there maybe a way to ask SAS to round the weighted frequencies to the nearest integer for the exact test?

The code I'm using that pertains to this question:

proc freq data= std.cases;

weight wtcap;

TABLE ATTND*(/*demographics*/ GENDER2 AGEGR2 ) / CHISQ nopercent NOCOL NOROW;

exact fisher;

run;

Thanks for any help with this!

Lucy

Problem: Because some cell values are non-integers SAS is telling me: " WARNING: exact p-values cannot be computed when there are non-integer frequencies".

Question: Does anyone know a way around this? In other words, how can I calculate fisher exact tests when I have non-integer values (yes, I have to use weighted values)? Is there maybe a way to ask SAS to round the weighted frequencies to the nearest integer for the exact test?

The code I'm using that pertains to this question:

proc freq data= std.cases;

weight wtcap;

TABLE ATTND*(/*demographics*/ GENDER2 AGEGR2 ) / CHISQ nopercent NOCOL NOROW;

exact fisher;

run;

Thanks for any help with this!

Lucy

Last edited: