Ignore:
Timestamp:
12/12/17 16:32:35 (22 months ago)
Author:
pfleck
Message:

#2809: merged branch to trunk

Location:
trunk/sources/HeuristicLab.DataPreprocessing.Views
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.DataPreprocessing.Views

  • trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/StatisticsView.cs

    r15210 r15518  
    8787
    8888    private void UpdateData(Dictionary<string, bool> oldVisibility = null) {
    89       var logic = Content.StatisticsLogic;
    90       rowsTextBox.Text = logic.GetRowCount().ToString();
    91       columnsTextBox.Text = logic.GetColumnCount().ToString();
    92       numericColumnsTextBox.Text = logic.GetNumericColumnCount().ToString();
    93       nominalColumnsTextBox5.Text = logic.GetNominalColumnCount().ToString();
    94       missingValuesTextBox.Text = logic.GetMissingValueCount().ToString();
    95       totalValuesTextBox.Text = (logic.GetColumnCount() * logic.GetRowCount() - logic.GetMissingValueCount()).ToString();
     89      var data = Content.PreprocessingData;
     90      rowsTextBox.Text = data.Rows.ToString();
     91      columnsTextBox.Text = data.Rows.ToString();
     92      numericColumnsTextBox.Text = GetColumnCount<double>().ToString();
     93      nominalColumnsTextBox5.Text = GetColumnCount<string>().ToString();
     94      missingValuesTextBox.Text = data.GetMissingValueCount().ToString();
     95      totalValuesTextBox.Text = (data.Rows * data.Rows - data.GetMissingValueCount()).ToString();
    9696
    9797      var variableNames = Content.PreprocessingData.VariableNames.ToList();
     
    107107        };
    108108
    109       for (int i = 0; i < logic.GetColumnCount(); i++) {
    110         var data = GetStatistics(i);
    111         for (int j = 0; j < data.Count; j++) {
     109      for (int i = 0; i < data.Columns; i++) {
     110        var statistics = GetStatistics(i);
     111        for (int j = 0; j < statistics.Count; j++) {
    112112          if (horizontal)
    113             statisticsMatrix[j, i] = data[j];
     113            statisticsMatrix[j, i] = statistics[j];
    114114          else
    115             statisticsMatrix[i, j] = data[j];
     115            statisticsMatrix[i, j] = statistics[j];
    116116        }
    117117      }
     
    138138    }
    139139
     140    public int GetColumnCount<T>() {
     141      int count = 0;
     142      for (int i = 0; i < Content.PreprocessingData.Columns; ++i) {
     143        if (Content.PreprocessingData.VariableHasType<T>(i)) {
     144          ++count;
     145        }
     146      }
     147      return count;
     148    }
     149
    140150    private List<string> GetStatistics(int varIdx) {
    141151      List<string> list;
    142       var logic = Content.StatisticsLogic;
    143       if (logic.VariableHasType<double>(varIdx)) {
     152      var data = Content.PreprocessingData;
     153      if (data.VariableHasType<double>(varIdx)) {
    144154        list = GetDoubleColumns(varIdx);
    145       } else if (logic.VariableHasType<string>(varIdx)) {
     155      } else if (data.VariableHasType<string>(varIdx)) {
    146156        list = GetStringColumns(varIdx);
    147       } else if (logic.VariableHasType<DateTime>(varIdx)) {
     157      } else if (data.VariableHasType<DateTime>(varIdx)) {
    148158        list = GetDateTimeColumns(varIdx);
    149159      } else {
     
    157167
    158168    private List<string> GetDoubleColumns(int statIdx) {
    159       var logic = Content.StatisticsLogic;
     169      var data = Content.PreprocessingData;
    160170      return new List<string> {
    161         logic.GetColumnTypeAsString(statIdx),
    162         logic.GetMissingValueCount(statIdx).ToString(),
    163         logic.GetMin<double>(statIdx, double.NaN).ToString(),
    164         logic.GetMax<double>(statIdx, double.NaN).ToString(),
    165         logic.GetMedian(statIdx).ToString(),
    166         logic.GetAverage(statIdx).ToString(),
    167         logic.GetStandardDeviation(statIdx).ToString(),
    168         logic.GetVariance(statIdx).ToString(),
    169         logic.GetOneQuarterPercentile(statIdx).ToString(),
    170         logic.GetThreeQuarterPercentile(statIdx).ToString(),
    171         logic.GetMostCommonValue<double>(statIdx, double.NaN).ToString(),
    172         logic.GetDifferentValuesCount<double>(statIdx).ToString()
     171        data.GetVariableType(statIdx).Name,
     172        data.GetMissingValueCount(statIdx).ToString(),
     173        data.GetMin<double>(statIdx, emptyValue: double.NaN).ToString(),
     174        data.GetMax<double>(statIdx, emptyValue: double.NaN).ToString(),
     175        data.GetMedian<double>(statIdx, emptyValue: double.NaN).ToString(),
     176        data.GetMean<double>(statIdx, emptyValue: double.NaN).ToString(),
     177        data.GetStandardDeviation<double>(statIdx, emptyValue: double.NaN).ToString(),
     178        data.GetVariance<double>(statIdx, emptyValue: double.NaN).ToString(),
     179        data.GetQuantile<double>(0.25, statIdx, emptyValue: double.NaN).ToString(),
     180        data.GetQuantile<double>(0.75, statIdx, emptyValue: double.NaN).ToString(),
     181        data.GetMode<double>(statIdx, emptyValue: double.NaN).ToString(),
     182        data.GetDistinctValues<double>(statIdx).ToString()
    173183      };
    174184    }
    175185
    176186    private List<string> GetStringColumns(int statIdx) {
    177       var logic = Content.StatisticsLogic;
     187      var data = Content.PreprocessingData;
    178188      return new List<string> {
    179         logic.GetColumnTypeAsString(statIdx),
    180         logic.GetMissingValueCount(statIdx).ToString(),
    181         "", //min
    182         "", //max
    183         "", //median
     189        data.GetVariableType(statIdx).Name,
     190        data.GetMissingValueCount(statIdx).ToString(),
     191        "", // data.GetMin<string>(statIdx, emptyValue: string.Empty), //min
     192        "", // data.GetMax<string>(statIdx, emptyValue: string.Empty), //max
     193        "", // data.GetMedian<string>(statIdx, emptyValue: string.Empty), //median
    184194        "", //average
    185195        "", //standard deviation
    186196        "", //variance
    187         "", //quarter percentile
    188         "", //three quarter percentile
    189         logic.GetMostCommonValue<string>(statIdx,string.Empty) ?? "",
    190         logic.GetDifferentValuesCount<string>(statIdx).ToString()
     197        "", // data.GetQuantile<string>(0.25, statIdx, emptyValue: string.Empty), //quarter percentile
     198        "", // data.GetQuantile<string>(0.75, statIdx, emptyValue: string.Empty), //three quarter percentile
     199        data.GetMode<string>(statIdx, emptyValue: string.Empty),
     200        data.GetDistinctValues<string>(statIdx).ToString()
    191201      };
    192202    }
    193203
    194204    private List<string> GetDateTimeColumns(int statIdx) {
    195       var logic = Content.StatisticsLogic;
     205      var data = Content.PreprocessingData;
    196206      return new List<string> {
    197         logic.GetColumnTypeAsString(statIdx),
    198         logic.GetMissingValueCount(statIdx).ToString(),
    199         logic.GetMin<DateTime>(statIdx, DateTime.MinValue).ToString(),
    200         logic.GetMax<DateTime>(statIdx, DateTime.MinValue).ToString(),
    201         logic.GetMedianDateTime(statIdx).ToString(),
    202         logic.GetAverageDateTime(statIdx).ToString(),
    203         logic.GetStandardDeviation(statIdx).ToString(),
    204         logic.GetVariance(statIdx).ToString(),
    205         logic.GetOneQuarterPercentile(statIdx).ToString(),
    206         logic.GetThreeQuarterPercentile(statIdx).ToString(),
    207         logic.GetMostCommonValue<DateTime>(statIdx, DateTime.MinValue).ToString(),
    208         logic.GetDifferentValuesCount<DateTime>(statIdx).ToString()
     207        data.GetVariableType(statIdx).Name,
     208        data.GetMissingValueCount(statIdx).ToString(),
     209        data.GetMin<DateTime>(statIdx).ToString(),
     210        data.GetMax<DateTime>(statIdx).ToString(),
     211        data.GetMedian<DateTime>(statIdx).ToString(),
     212        data.GetMean<DateTime>(statIdx).ToString(),
     213        "", // should be of type TimeSpan //data.GetStandardDeviation<DateTime>(statIdx).ToString(),
     214        "", // should be of type TimeSpan //data.GetVariance<DateTime>(statIdx).ToString(),
     215        data.GetQuantile<DateTime>(0.25, statIdx).ToString(),
     216        data.GetQuantile<DateTime>(0.75, statIdx).ToString(),
     217        data.GetMode<DateTime>(statIdx).ToString(),
     218        data.GetDistinctValues<DateTime>(statIdx).ToString()
    209219      };
    210220    }
Note: See TracChangeset for help on using the changeset viewer.