def split_by_separator sep=','
      split_data = splitted sep
      split_data
        .flatten.uniq.compact.map do |key|
        [
          key,
          Daru::Vector.new(split_data.map { |v| split_value(key, v) })
        ]
      end.to_h
    end
def split_by_separator sep=','
      split_data = splitted sep
      split_data
        .flatten.uniq.compact.map do |key|
        [
          key,
          Daru::Vector.new(split_data.map { |v| split_value(key, v) })
        ]
      end.to_h
    end
Returns a hash of Vectors, defined by the different values
 defined on the fields
 Example:

  a=Daru::Vector.new(["a,b","c,d","a,b"])
  a.split_by_separator
  =>  {"a"=>#<Daru::Vector:0x7f2dbcc09d88
        @data=[1, 0, 1]>,
       "b"=>#<Daru::Vector:0x7f2dbcc09c48
        @data=[1, 1, 0]>,
      "c"=>#<Daru::Vector:0x7f2dbcc09b08
        @data=[0, 1, 1]>}