def reject_values(*values)
      resultant_pos = size.times.to_a - values.flat_map { |v| @cat_hash[v] }
      dv = at(*resultant_pos)
      unless dv.is_a? Daru::Vector
        pos = resultant_pos.first
        dv = at(pos..pos)
      end
      dv.remove_unused_categories
    end
def reject_values(*values)
      resultant_pos = size.times.to_a - values.flat_map { |v| @cat_hash[v] }
      dv = at(*resultant_pos)
      unless dv.is_a? Daru::Vector
        pos = resultant_pos.first
        dv = at(pos..pos)
      end
      dv.remove_unused_categories
    end
Return a vector with specified values removed
 @param [Array] values to reject from resultant vector
 @return [Daru::Vector] vector with specified values removed
 @example
   dv = Daru::Vector.new [1, 2, nil, Float::NAN], type: :category
   dv.reject_values nil, Float::NAN
   # => #<Daru::Vector(2)>
   #   0   1
   #   1   2