docs: public static Relation<NumberVector> applyPrescaling(ScalingFunction scaling, Relation<NumberVector> relation, DBIDs skip) {
      if(scaling == null) {
        return relation;
      }
      NumberVector.Factory<NumberVector> factory = RelationUtil.getNumberVectorFactory(relation);
      DBIDs ids = relation.getDBIDs();
      WritableDataStore<NumberVector> contents = DataStoreUtil.makeStorage(ids, DataStoreFactory.HINT_HOT, NumberVector.class);
      for(DBIDIter iter = ids.iter(); iter.valid(); iter.advance()) {
        NumberVector v = relation.get(iter);
        double[] raw = v.toArray();
        if(!skip.contains(iter)) {
          applyScaling(raw, scaling);
        }
        contents.put(iter, factory.newNumberVector(raw, ArrayLikeUtil.DOUBLEARRAYADAPTER));
      }
      return new MaterializedRelation<>(relation.getDataTypeInformation(), ids, "rescaled", contents);
    }