def describe
      Daru::Vector.new(
        size: size,
        categories: categories.size,
        max_freq: @cat_hash.values.map(&:size).max,
        max_category: @cat_hash.keys.max_by { |cat| @cat_hash[cat].size },
        min_freq: @cat_hash.values.map(&:size).min,
        min_category: @cat_hash.keys.min_by { |cat| @cat_hash[cat].size }
      )
    end
def describe
      Daru::Vector.new(
        size: size,
        categories: categories.size,
        max_freq: @cat_hash.values.map(&:size).max,
        max_category: @cat_hash.keys.max_by { |cat| @cat_hash[cat].size },
        min_freq: @cat_hash.values.map(&:size).min,
        min_category: @cat_hash.keys.min_by { |cat| @cat_hash[cat].size }
      )
    end
Gives the summary of data using following parameters
 - size: size of the data
 - categories: total number of categories
 - max_freq: Max no of times a category occurs
 - max_category: The category which occurs max no of times
 - min_freq: Min no of times a category occurs
 - min_category: The category which occurs min no of times
 @return [Daru::Vector] Vector with index as following parameters
   and values as values to these parameters
 @example
   dv = Daru::Vector.new [:a, 1, :a, 1, :c], type: :category
   dv.describe
   # => #<Daru::Vector(6)>
   #         size            5
   #   categories            3
   #     max_freq            2
   # max_category            a
   #     min_freq            1
   # min_category            c