Ignore:
Timestamp:
07/14/16 22:41:02 (5 years ago)
Author:
mkommend
Message:

#2616: Merged r13934, r13935 into stable.

Location:
stable
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • stable

  • stable/HeuristicLab.DataPreprocessing/3.4

  • stable/HeuristicLab.DataPreprocessing/3.4/Logic/StatisticsLogic.cs

    r13508 r14077  
    7171    }
    7272
    73     public T GetMin<T>(int columnIndex, bool considerSelection = false) where T : IComparable<T> {
    74       var min = default(T);
     73    public T GetMin<T>(int columnIndex, T defaultValue, bool considerSelection = false) where T : IComparable<T> {
     74      var min = defaultValue;
    7575      if (preprocessingData.VariableHasType<T>(columnIndex)) {
    7676        var values = GetValuesWithoutNaN<T>(columnIndex, considerSelection);
     
    8282    }
    8383
    84     public T GetMax<T>(int columnIndex, bool considerSelection = false) where T : IComparable<T> {
    85       var max = default(T);
     84    public T GetMax<T>(int columnIndex, T defaultValue, bool considerSelection = false) where T : IComparable<T> {
     85      var max = defaultValue;
    8686      if (preprocessingData.VariableHasType<T>(columnIndex)) {
    8787        var values = GetValuesWithoutNaN<T>(columnIndex, considerSelection);
     
    131131    }
    132132
    133     public T GetMostCommonValue<T>(int columnIndex, bool considerSelection = false) {
     133    public T GetMostCommonValue<T>(int columnIndex, T defaultValue, bool considerSelection = false) {
    134134      var values = GetValuesWithoutNaN<T>(columnIndex, considerSelection);
    135135      if (!values.Any())
    136         return default(T);
     136        return defaultValue;
    137137      return values.GroupBy(x => x)
    138138                              .OrderByDescending(g => g.Count())
     
    165165      double percentile = double.NaN;
    166166      if (preprocessingData.VariableHasType<double>(columnIndex)) {
    167         percentile = GetValuesWithoutNaN<double>(columnIndex).Quantile(0.25);
    168       } else if (preprocessingData.VariableHasType<DateTime>(columnIndex)) {
    169         percentile = GetDateTimeAsSeconds(columnIndex).Quantile(0.25);
     167        percentile = GetValuesWithoutNaN<double>(columnIndex).DefaultIfEmpty(double.NaN).Quantile(0.25);
     168      } else if (preprocessingData.VariableHasType<DateTime>(columnIndex)) {
     169        percentile = GetDateTimeAsSeconds(columnIndex).DefaultIfEmpty(double.NaN).Quantile(0.25);
    170170      }
    171171      return percentile;
     
    175175      double percentile = double.NaN;
    176176      if (preprocessingData.VariableHasType<double>(columnIndex)) {
    177         percentile = GetValuesWithoutNaN<double>(columnIndex).Quantile(0.75);
    178       } else if (preprocessingData.VariableHasType<DateTime>(columnIndex)) {
    179         percentile = GetDateTimeAsSeconds(columnIndex).Quantile(0.75);
     177        percentile = GetValuesWithoutNaN<double>(columnIndex).DefaultIfEmpty(double.NaN).Quantile(0.75);
     178      } else if (preprocessingData.VariableHasType<DateTime>(columnIndex)) {
     179        percentile = GetDateTimeAsSeconds(columnIndex).DefaultIfEmpty(double.NaN).Quantile(0.75);
    180180      }
    181181      return percentile;
Note: See TracChangeset for help on using the changeset viewer.