def set_row_at positions, vector
      validate_positions(*positions, nrows)
      vector =
        if vector.is_a? Daru::Vector
          vector.reindex @vectors
        else
          Daru::Vector.new vector
        end

      raise SizeError, 'Vector length should match row length' if
        vector.size != @vectors.size

      @data.each_with_index do |vec, pos|
        vec.set_at(positions, vector.at(pos))
      end
      @index = @data[0].index
      set_size
    end
Set rows by positions
@param [Array<Integer>] positions positions of rows to set
@param [Array, Daru::Vector] vector vector to be assigned
@example
df = Daru::DataFrame.new({
a: [1, 2, 3],
b: ['a', 'b', 'c']
})
df.set_row_at [0, 1], ['x', 'x']
df
#=> #<Daru::DataFrame(3x2)>
#       a   b
#   0   x   x
#   1   x   x
#   2   3   c