def at *positions
      positions = preprocess_positions(*positions)
      validate_positions(*positions)
      if positions.is_a? Integer
        index_from_pos(positions)
      else
        Daru::CategoricalIndex.new positions.map(&method(:index_from_pos))
      end
    end
def at *positions
      positions = preprocess_positions(*positions)
      validate_positions(*positions)
      if positions.is_a? Integer
        index_from_pos(positions)
      else
        Daru::CategoricalIndex.new positions.map(&method(:index_from_pos))
      end
    end
Takes positional values and returns subset of the self
   capturing the categories at mentioned positions
 @param positions [Array<Integer>] positional values
 @return [object] index object
 @example
   idx = Daru::CategoricalIndex.new [:a, :b, :a, :b, :c]
   idx.at 0, 1
   # => #<Daru::CategoricalIndex(2): {a, b}>