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