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
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