Exemplo n.º 1
0
        public static TestResult RunBetweenTest(List <double> x, List <double> y, BetweenGroupTest bt)
        {
            Sample sm1 = new Sample(x);
            Sample sm2 = new Sample(y);

            switch (bt)
            {
            case BetweenGroupTest.Anova:
                return(Sample.OneWayAnovaTest(sm1, sm2).Factor.Result);

            case BetweenGroupTest.Kolmogorov:
                return(Sample.KolmogorovSmirnovTest(sm1, sm2));

            case BetweenGroupTest.Kruskal:
                return(Sample.KruskalWallisTest(sm1, sm2));

            case BetweenGroupTest.MannWhitney:
                return(Sample.MannWhitneyTest(sm1, sm2));

            case BetweenGroupTest.StudentT:
                return(Sample.StudentTTest(sm1, sm2));

            default:
                return(null);
            }
        }
Exemplo n.º 2
0
        protected void TestDoWorkBetween(BetweenGroupTest bt)
        {
            Dictionary <int, List <RSplitUnit <double> > > units = DataToProcess.GetGroupedList();
            int cnt = units.Count;
            List <List <double> > rankData = new List <List <double> > ();

            foreach (KeyValuePair <int, List <RSplitUnit <double> > > kvp in units)
            {
                List <double> x = new List <double> ();
                List <double> y = new List <double> ();

                ExtractXYLists(kvp.Value, x, y);
                rankData.Add(y);
            }

            List <List <TestResult> > results = new List <List <TestResult> > ();

            for (int i = 0; i < cnt - 1; i++)
            {
                List <TestResult> tsr = new List <TestResult> ();
                for (int j = i + 1; j < cnt; j++)
                {
                    tsr.Add(StatsTester.RunBetweenTest(rankData [i], rankData [j], bt));
                }
                results.Add(tsr);
            }

            Gtk.Application.Invoke(delegate {
                AssignResultsToTable(results, cnt, bt);
            });
        }
Exemplo n.º 3
0
 protected void AssignResultsToTable(List <List <TestResult> > results, int groupCount, BetweenGroupTest bt)
 {
     for (int i = 0; i < groupCount - 1; i++)
     {
         for (int j = 0; j < groupCount - 1 - i; j++)
         {
             if (showStatRadio.Active)
             {
                 SampleComparisons [i] [j + 1 + i].Text = results [i] [j].Statistic.ToString("G7");
             }
             else
             {
                 if (results [i] [j].Statistic > 0)
                 {
                     SampleComparisons [i] [j + 1 + i].Text = results [i] [j].RightProbability.ToString("e2");
                 }
                 else
                 {
                     SampleComparisons [i] [j + 1 + i].Text = results [i] [j].LeftProbability.ToString("e2");
                 }
             }
         }
     }
 }