def METHOD_NAME ( data ):
	# calculate F statistic and degrees freedom num, denom
	# assumes data has specific structure:
	#  unlimited groups (rows)
	#  with equal number of items (columns)
	K = data.shape [0] # number groups
	n = numpy.zeros ( K ) # number items each group
	N = 0 # total number data points
	i = 0
	while i < K:
		n [i] = data.shape [1]
		N += data.shape [1]
		i += 1
	# 1.  group means and grand mean
	means = numpy.zeros ( K )
	gMean = 0.0
	i = 0
	while i < K:
		j = 0
		while j < data.shape [1]:
			means [i] += data [i] [j]
			gMean += data [i] [j]
			j += 1
		means [i] /= n [i]
		print ( "Group [" + str ( i ) + "] mean = " + str ( means [i] ) )
		i += 1
	gMean /= N
	print ( "Overall mean = " + str ( gMean ) )
	# 2.  SSb and MSb
	SSb = 0.0
	MSb = 0.0
	i = 0
	while i < K:
		SSb += n [i] * ( means [i] - gMean ) * ( means [i] - gMean )
		i += 1
	MSb = SSb / ( K - 1 )
	# 3.  SSw and MSw
	SSw = 0.0
	i = 0
	while i < K:
		j = 0
		while j < data.shape [1]:
			SSw += ( data [i] [j] - means [i] ) * ( data [i] [j] - means [i] )
			j += 1
		i += 1
	MSw = SSw / ( N - K )
	# Demonstrate calculation
	print ( "Calculated SSb = " + str ( SSb ) )
	print ( "Calculated MSb = " + str ( MSb ) )
	print ( "Calculated SSw = " + str ( SSw ) )
	print ( "Calculated MSw = " + str ( MSw ) )
	print ( "F = MSb / MSw" )
	print ( " = " + str ( MSb ) + " / " + str ( MSw ) )
	# store df values
	df = numpy.zeros ( 2 )
	df [0] = K - 1
	df [1] = N - K
	F = MSb / MSw
	return [ F, df ]