def set_at positions, val
      validate_positions(*positions)
      positions.map { |pos| modify_category_at pos, val }
      self
    end
def set_at positions, val
      validate_positions(*positions)
      positions.map { |pos| modify_category_at pos, val }
      self
    end
Modifies values at specified positions.
 @param [Array] positions positions at which to modify value
 @param [object] val value to assign at specific positions
 @return modified vector
 @example
   dv = Daru::Vector.new [:a, 1, :a, 1, :c], type: :category
   dv.add_category :b
   dv.set_at [0, 1], :b
   # => #<Daru::Vector(5)>
   #   0   b
   #   1   b
   #   2   a
   #   3   1
   #   4   c