def sample_without_replacement(sample=1)
          if @data.respond_to? :sample_without_replacement
            @data.sample_without_replacement sample
          else
            raw_sample_without_replacement(sample)
          end
        end
Returns an random sample of size n, without replacement,
only with valid data.

Every element could only be selected once.

A sample of the same size of the vector is the vector itself.