code: def f_oneway(*args):
      """Perform a 1-way ANOVA.
  
      The one-way ANOVA tests the null hypothesis that 2 or more groups have
      the same population mean. The test is applied to samples from two or
      more groups, possibly with differing sizes :footcite:`Lowry2014`.
  
      This is a modified version of :func:`scipy.stats.f_oneway` that avoids
      computing the associated p-value.
  
      Parameters
      ----------
      *args : array_like
          The sample measurements should be given as arguments.
  
      Returns
      -------
      F-value : float
          The computed F-value of the test.
  
      Notes
      -----
      The ANOVA test has important assumptions that must be satisfied in order
      for the associated p-value to be valid.
  
      1. The samples are independent
      2. Each sample is from a normally distributed population
      3. The population standard deviations of the groups are all equal. This
         property is known as homoscedasticity.
  
      If these assumptions are not true for a given set of data, it may still be
      possible to use the Kruskal-Wallis H-test (:func:`scipy.stats.kruskal`)
      although with some loss of power.
  
      The algorithm is from Heiman :footcite:`Heiman2002`, pp.394-7.
  
      References
      ----------
      .. footbibliography::
      """
      n_classes = len(args)
      n_samples_per_class = np.array([len(a) for a in args])
      n_samples = np.sum(n_samples_per_class)
      ss_alldata = reduce(
          lambda x, y: x + y, [np.sum(a**2, axis=0) for a in args]
      )
      sums_args = [np.sum(a, axis=0) for a in args]
      square_of_sums_alldata = (
          reduce(lambda x, y: x + y, sums_args) ** 2
      )
      square_of_sums_args = [s**2 for s in sums_args]
      sstot = ss_alldata - square_of_sums_alldata / float(n_samples)
      ssbn = 0
      for k, _ in enumerate(args):
          ssbn += square_of_sums_args[k] / n_samples_per_class[k]
      ssbn -= square_of_sums_alldata / float(n_samples)
      sswn = sstot - ssbn
      dfbn = n_classes - 1
      dfwn = n_samples - n_classes
      msb = ssbn / float(dfbn)
      msw = sswn / float(dfwn)
      f = msb / msw
      return f
  
file_path: mne-python/mne/stats/parametric.py
imports: from functools import reduce
  from string import ascii_uppercase
  import numpy
  from scipy import stats
  from scipy.signal import detrend
  from ..utils import _check_option
label_desc: Use image node_id 3 for calling a global function with example usage: f_oneway() and returns: f