Example #1
0
def getLogPvalue(p, P, n, N):
	""" Return log of hypergeometric pvalue of #pos >= p
			p = positive successes
			P = positives
			n = negative successes
			N = negatives
	"""
	if (p * N > n * P):
		# apply Fisher Exact test (hypergeometric p-value)
		return math.exp(log_getFETprob(N-n, n, P-p, p)[4]);
		
	else:
		return 1.0          # pvalue = 1
Example #2
0
def getLogPvalue(p, P, n, N):
	""" Returns a Fisher's exact pvalue 
	
	:param p: Number of positive successes
	:type p: integer
	:param P: Total number of positive cases
	:type P: integer
	:param n: Number of negative successes
	:type n: integer
	:param N: Total number of negative cases
	:type N: integer
	
	:returns: P-value  
	:rtype: float
	"""
	if (p * N > n * P):
		# apply Fisher Exact test (hypergeometric p-value)
		return math.exp(log_getFETprob(N-n, n, P-p, p)[4]);
		
	else:
		return 1.0          # pvalue = 1