I've been running some simulations on genotype effects on phenotypes. I'm representing genotypes by 0, 1 or 2 (the number of copies of the minor allele) and phenotypes as 0 or 1. Thus my contingency table is 2x3. I then run R's built-in Fisher Exact Test.
The problem is that, whether I simulate the null or alternative hypothesis, when I plot a histogram of the distribution of p-values, I get has a spike at p = 1. I suspect that the spike is caused by some of the minor alleles being too rare; when this happens, the two rows of the contingency table may bunch too close together. For example, if my contingency table is
499 1 0
499 1 0
the p-value will be reported as 1, even though in reality the two rows come from very different distributions.
This is understandable; but my question is: Is R too eager to report p-value = 1? For example, R also reports a p-value of 1 for the contingency table
499 1 0
498 2 0
which exacerbates the spike in the histogram. Is this reasonable?
Thanks