Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/dataselection/AbstractCharacteristicSelection.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/dataselection/AbstractCharacteristicSelection.java	(revision 79)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/dataselection/AbstractCharacteristicSelection.java	(revision 81)
@@ -23,4 +23,5 @@
 import weka.core.Instance;
 import weka.core.Instances;
+import weka.core.Utils;
 import weka.experiment.Stats;
 import weka.filters.Filter;
@@ -96,4 +97,13 @@
                         instanceValues[i * characteristics.length + j] = testdata.variance(j);
                     }
+                    else if ("max".equals(characteristics[j])) {
+                        instanceValues[i * characteristics.length + j] = stats.max;
+                    }
+                    else if ("min".equals(characteristics[j])) {
+                        instanceValues[i * characteristics.length + j] = stats.min;
+                    }
+                    else if ("median".equals(characteristics[j])) {
+                        instanceValues[i * characteristics.length + j] = Utils.kthSmallestValue(testdata.attributeToDoubleArray(i), testdata.size()/2);
+                    }
                     else {
                         throw new RuntimeException("Unkown distributional characteristic: " +
@@ -119,5 +129,14 @@
                         }
                         else if ("var".equals(characteristics[j])) {
-                            instanceValues[i * characteristics.length + j] = testdata.variance(j);
+                            instanceValues[i * characteristics.length + j] = traindata.variance(j);
+                        }
+                        else if ("max".equals(characteristics[j])) {
+                            instanceValues[i * characteristics.length + j] = stats.max;
+                        }
+                        else if ("min".equals(characteristics[j])) {
+                            instanceValues[i * characteristics.length + j] = stats.min;
+                        }
+                        else if ("median".equals(characteristics[j])) {
+                            instanceValues[i * characteristics.length + j] = Utils.kthSmallestValue(traindata.attributeToDoubleArray(i), traindata.size()/2);
                         }
                         else {
